D-SDR-3/4/5 + sprint-log-4 governance + sprint 5-9 roadmap#364
Merged
Conversation
…separate from active spec) Captures 6 verification-tasks-with-paper-URLs from external synthesis pass. Kept in .claude/knowledge/ as an inbox doc — not folded into the active super-domain-rbac-tenancy-v1 plan or any other shipping spec, so existing context isn't diluted. Each entry has explicit verification steps + a yes/no "synergy confirmed" signal before any code commitment. Pattern follows the existing .claude/knowledge/ convention: paper URL + anchor + verification + synergy + defer-if criteria. Two suggested Linear epics: - "Splat substrate consolidation" (E1+E2+E3+E4): hardware/storage reuse story (AwarenessPlane16K dual-reading, multi-channel split, temporal HHTL bands, gsplat SIMD ports). - "Formal grounding citations" (E5+E6): docs-only outputs for the regulated-industry pitch (computational irreducibility paper as MUL formal grounding, Mahler approximate ideals as cross-OGIT-path merge algebra). Foliation papers (5) + Algorithmic Idealism II are explicitly deferred pending a math-deep reader. E1 is the cheapest first move (pure grep). E5 produces the strongest commercial-pitch artifact. E2 is highest leverage if channels-as-separate- planes lands.
…FamilyTable + FamilyEntry)
Per spec §3.3 — each OGIT basin carries a 256-slot dense
`OgitFamilyTable` indexed by `OwlIdentity::slot()`. Each occupied slot
holds `FamilyEntry` (label URI + SchemaKind + OwlCharacteristics +
DolceMarker + axiom_blob + provenance + outgoing verbs) INLINE.
Replaces the spec's earlier sidecar-table sketch (rejected as
Neo4j-shaped per §16.5 + §17.4 brutal-honest correction).
src/family_table.rs (NEW, ~330 LOC + 9 tests):
- `OwlCharacteristics` (1-byte bitfield per
`GLUE_LAYER_OGIT_TO_OWL_SPEC.md` §3): FUNCTIONAL, INVERSE_FUNCTIONAL,
TRANSITIVE, SYMMETRIC, ASYMMETRIC, REFLEXIVE, IRREFLEXIVE + reserved.
Const helpers (`is_functional`, `is_transitive`, ...).
- `FamilyEntry` — one slot's worth of OGIT data:
label_uri: &'static str (canonical OGIT URI)
kind: SchemaKind (Entity / Edge / Attribute,
reuses lance-graph-ontology)
owl_characteristics: OwlCharacteristics (1B bitfield)
dolce_marker: DolceMarker (1B enum, reuses super_domain)
axiom_blob: &'static [u8] (optional OWL axioms)
provenance: &'static str (dcterms:source — carries the
off-label lineage per §5 OSLC
absorption decision)
verbs: &'static [u8] (outgoing verb slots within
this family)
`FamilyEntry::plain_entity(label_uri)` const helper for the simplest
hydration paths.
- `PerFamilyCodebook` — placeholder for D-SDR-3c (per-basin CAM-PQ
centroids + Base17 head + scent). Concrete fields land alongside
`lance-graph-contract::cam` codec wiring.
- `OgitFamilyTable { family, entries: [Option<FamilyEntry>; 256],
codebook: PerFamilyCodebook }`:
* `empty(family)` — constructor for hydration
* `lookup(owl) -> Option<&FamilyEntry>` — hot-path O(1) array
index. `debug_assert` checks the OwlIdentity belongs to this
family (callers MUST route via FAMILY_TO_SUPER_DOMAIN first)
* `label(owl)` / `kind(owl)` / `is_functional(owl)` /
`is_transitive(owl)` — typed convenience helpers
* `set(slot, entry)` / `clear(slot)` — hydration mutators
* `len()` / `is_empty()` — table-state queries
- 9 unit tests: empty table, lookup hit, lookup miss, helper
consistency, bitfield round-trip, is_functional via slot, clear,
len counting, debug_assert on wrong-family lookup.
src/lib.rs:
- Re-exports `family_table` types: `OgitFamilyTable`, `FamilyEntry`,
`OwlCharacteristics`, `PerFamilyCodebook`, `SchemaKind`.
D-SDR-3 scope: type system + lookup method. Bake-time population from
TTL hydration is D-SDR-3b (lance-graph-ontology side, hooks into
`OntologyRegistry::hydrate_once_sync` after parsing). `PerFamilyCodebook`
fields are D-SDR-3c.
Tier A progress:
- D-SDR-1 (UnifiedBridge<B> + TenantId + AuthError) — shipped f627ef1
- D-SDR-2 (SuperDomain layer + OgitFamily + OwlIdentity) — shipped 17987ce
- D-SDR-3 (OgitFamilyTable + FamilyEntry inline) — THIS COMMIT
- D-SDR-4 (Merkle audit chain wiring) — next
- D-SDR-5 (4-stage authorize against PolicyRewriter) — wires it all
Verification: `cargo clippy -p lance-graph-callcenter --tests --no-deps`
clean on new code; 9/9 family_table tests pass; 6/6 unified_bridge tests
still pass; 7/7 super_domain tests still pass.
…ifiedBridge
Per spec §13.3 — each UnifiedBridge::authorize() decision that materially
gates access (Deny / Escalate / audit-required Allow) emits one
UnifiedAuditEvent. Events form a chain: event N's merkle root binds in
event N-1's merkle root + a per-super-domain merkle_salt. Tampering with
any past event is detectable by chain re-verification.
src/unified_audit.rs (NEW, ~340 LOC + 10 tests):
- AuthOp (Read / Write / Act) + AuthDecision (Allow / Deny / Escalate /
BridgeError) — lifetime-free enums for durable storage (the
`lance_graph_rbac::policy::Operation<'_>` borrow doesn't reach the
sink).
- AuditMerkleRoot(u64) with GENESIS const + chain(prev_root, salt,
entry_bytes) operator. FNV-1a 64-bit step internally — deterministic
across platforms / Rust versions (per §15.2 cross-language
determinism rules); safe to persist + cross-binary verify.
- UnifiedAuditEvent — one chain entry:
ts_unix_ms: u64 (ms-quantized for cross-language determinism)
tenant: TenantId
super_domain: SuperDomain
owl: OwlIdentity
op: AuthOp
decision: AuthDecision
actor_role_hash: u64 (FNV-1a of &'static str — keeps event Copy +
fixed-size for durable storage)
merkle_root: AuditMerkleRoot (stamped by AuditChain::advance)
+ canonical_bytes() -> [u8; 25]: fixed field order, little-endian,
no padding. Excludes merkle_root (it's the OUTPUT, not an input).
- AuditChain (stateful chain advancer):
new(super_domain, salt) — seeds at GENESIS
resume(super_domain, salt, last_root) — restart after persist
advance(event) -> event — stamps merkle_root, updates last_root
- UnifiedAuditSink trait + NoopUnifiedAuditSink reference impl.
Production sinks (JsonLinesUnifiedAuditSink, LanceUnifiedAuditSink)
defer to D-SDR-4b.
- verify_chain(start_root, salt, &[events]) -> Result<final_root,
broken_index> — tamper detection helper. Re-derives each event's
merkle root from canonical_bytes + chain operator; returns the
first index where stored_root != recomputed_root (or final_root on
full match).
10 unit tests:
- merkle_root_chain_is_deterministic
- merkle_root_chain_depends_on_salt (cross-domain unlinkability proof)
- merkle_root_chain_depends_on_prior (chain integrity)
- audit_chain_advance_stamps_event_and_updates_state
- audit_chain_two_events_chain_through
- verify_chain_accepts_genuine_chain
- verify_chain_detects_tampered_event_in_middle
(flip decision Allow→Deny at index 2; verify fails at index 2)
- verify_chain_detects_wrong_salt (verification with wrong salt
fails at index 0; proves the salt IS part of the chain integrity
bind)
- noop_sink_swallows_events
- canonical_bytes_round_trips_field_order (offset-by-offset)
Separate from `crate::audit` (feature-gated audit-log): that records
RLS-rewritten plan executions, different event type / schema / sink
contract. The two coexist — a typical request emits one
UnifiedAuditEvent (auth decision) and zero or one audit::AuditEntry
(rewritten plan if execution proceeded).
D-SDR-4 scope: types + chain mechanics + Noop sink + tamper-detection
helper. Production sinks (JSONL + Lance) = D-SDR-4b. Wiring into
authorize() = D-SDR-5.
src/lib.rs: re-exports verify_chain, AuditChain, AuditMerkleRoot,
AuthDecision, AuthOp, NoopUnifiedAuditSink, UnifiedAuditEvent,
UnifiedAuditSink.
Tier A progress:
- D-SDR-1 (UnifiedBridge core) — shipped f627ef1
- D-SDR-2 (SuperDomain + OgitFamily) — shipped 17987ce
- D-SDR-3 (OgitFamilyTable inline) — shipped 2c3e87d
- D-SDR-4 (Merkle audit chain) — THIS COMMIT
- D-SDR-5 (4-stage authorize wiring) — next
Verification: cargo clippy -p lance-graph-callcenter --tests --no-deps
clean on new code; 10/10 unified_audit tests pass; all prior tests
(9 family_table + 6 unified_bridge + 7 super_domain) still pass.
… with chained audit emission
Wires D-SDR-1..4 into the actual UnifiedBridge authorization flow:
- UnifiedBridge<B> grows `actor_role_hash` (FNV-1a digest, cached),
`audit_sink: Arc<dyn UnifiedAuditSink>` (defaults to noop), and
`audit_chain: Mutex<AuditChain>` (defaults to GENESIS @ Unknown/0).
- Builders `with_audit_chain(super_domain, salt, sink)` and
`with_audit_chain_resume(super_domain, salt, last_root, sink)` swap
the sink + reseed/resume the chain. `audit_root()` exposes the
current root for shutdown persistence.
- authorize_read / authorize_write / authorize_act each:
1. resolve `bridge.row(public_name)?` (BridgeError short-circuits)
2. extract canonical entity type via `canonical_entity_type`
3. evaluate Policy against the canonical name
4. emit one chained UnifiedAuditEvent through the sink
5. map AccessDecision -> Result<EntityRef, AuthError>
- BridgeError short-circuits before audit emission — invalid lookups
aren't auth decisions (D-SDR-5 minimum; revisit if probe-detection
becomes a requirement).
- Free helpers: `decision_of`, `map_decision`, `owl_from_schema_ptr`
(truncates 16-bit entity_type_id to 8-bit slot per §16 reality
check), `now_unix_ms`.
Tests (5 new in `unified_bridge::tests`):
- authorize_read_emits_allow_audit_event
- authorize_read_emits_deny_audit_event
- bridge_error_short_circuits_before_audit
- audit_chain_advances_across_calls (root diverges per emission;
events carry post-advance root)
- with_audit_chain_resume_picks_up_from_prior_root
Drive-by clippy: family_table.rs map_or(false, ..) -> is_some_and(..).
96/96 tests green; clippy -D warnings clean on lib + tests
(pre-existing zone_serialize_check assert!(true) unaffected).
Refs: super-domain-rbac-tenancy-v1 §3.9 + §13.1.
https://claude.ai/code/session_01PjcbSTd9zdVPkta9qwkVKo
… transcripts
Three governance artifacts + the May 1→13 main-window transcript archive:
1. Handovers (`.claude/handovers/`):
- 2026-05-13-0852 formal status: Tier A complete (D-SDR-1..5),
consumer wirings local, Tier B+ roadmap with 39 D-SDR deliverable ledger.
- 2026-05-13-0855 brainstorm arc synthesis: collaborative architecting
trajectory (Pillar 5+/5++/6 math cert → splat-osint → DTO ladder →
OGIT spine → Super-Domain RBAC), 12 compressed insights, 12 verdicts,
priority-ordered next steps Phase 0-6.
2. Board harvest (APPEND-ONLY governance respected):
- INTEGRATION_PLANS.md: super-domain-rbac-tenancy v1 status correction
with follow-up PR + Tier B+ roadmap.
- EPIPHANIES.md: 6 new dated entries — `thinking-engine` is a 582 KB
dormant substrate that closes §16-§19 when wired (the ball that
mustn't drop); PolicyRewriter composition confirmed; Arrow Flight
SQL is Phase 5+ not immediate; 3DES is broken-single-DES → Argon2
backfill; Codex canonical-name fix; LanceProbe IS drift bridge;
6-byte OGIT identity.
- IDEAS.md: wire thinking-engine into UnifiedBridge — collapse
D-SDR-13/15/17 into one ~300 LOC bridge module; ~45% LOC saved
across downstream Tier B-H.
- TECH_DEBT.md: 7 new TD rows — TD-THINKING-ENGINE-UNWIRED-1 (P1
architectural), follow-up PR (P0), consumer-side push (P0), audit
persistence (P1), family hydration (P1), slot truncation (P2),
bridge-error audit (P3).
3. Transcripts (`.claude/transcript/`): 79 scrubbed jsonl files
(main-window only, sidechain filtered) covering May 1 (EWA-Sandwich
/ Pillar 6 certification) → May 13 (D-SDR-5 commit), plus a 4.5 MB
zip archive. PAT/secret patterns aggressively redacted (ghp_,
github_pat_, gho_/ghu_/ghs_/ghr_, Bearer tokens, sk-ant-, sk-proj-,
AKIA, xox*-, env-var GITHUB_TOKEN / API_KEY / SECRET / PASSWORD,
embedded URL credentials).
No code changes; documentation + governance + session-archive only.
https://claude.ai/code/session_01PjcbSTd9zdVPkta9qwkVKo
…hinking-engine (Path A) User correction: "ractor in lance-graph-callcenter is the other path" — the 2026-05-13 thinking-engine finding captured Path A (cognitive substrate) only; Path B (runtime topology via ractor sync supervisor) is the complementary substrate already designed in .claude/plans/compile-time-consumer-binding-v1.md and tech-debt-tracked as TD-RACTOR-SUPERVISOR-5 + TD-MANIFEST-MODULES-4. Adds: 1. EPIPHANIES.md — 2026-05-13 two-paths-converging finding: Path A gives the *contents* of authorize/dispatch decisions (role projection, persona, awareness DTO); Path B gives the *topology* that runs them under crash-isolated sync supervision (I-2 BBB invariant: tokio outbound only / sync ractor inbound). Together they form the runtime: CallcenterSupervisor owns N consumer actors → each calls UnifiedBridge::authorize_* → which projects through thinking-engine primitives → emits chained UnifiedAuditEvent carrying both merkle_root AND awareness_root. The compile-time manifest (Pattern E) gates both substrate paths from a single /modules/<name>/manifest.yaml entry — actor_type field selects Path B's handler arm, thinking_styles field selects Path A's projection vectors. 2. IDEAS.md — Pattern E+F+cognition cascade: 3-PR sequence (D-MANIFEST-MODULES-4 → D-RACTOR-SUPERVISOR-5 → cognition_bridge) that collapses 5 nominally separate deliverables (~830 LOC clean- room scaffolding) into a ~950 LOC composed-against-thinking-engine cascade. Architectural payoff: lance-graph-callcenter finally becomes the telephony-switching supervisor its name has promised since day one. Promotes to Phase 0.5 in the priority-ordered next steps — before D-SDR-13/15/17. No new TD row (TD-RACTOR-SUPERVISOR-5 + TD-MANIFEST-MODULES-4 already exist in TECH_DEBT.md:1779 and 1751 respectively from prior session). https://claude.ai/code/session_01PjcbSTd9zdVPkta9qwkVKo
…+ API-drift + OGIT-axis orthogonality 5 new prepended entries across the three governance files capturing findings from rapid 2026-05-13 brainstorming: EPIPHANIES.md (4 new entries, all 2026-05-13): - THREE-paths-converging (extends the two-paths entry) — Path C = `ndarray::simd` canonical SIMD compute substrate per spec §19.2; per-row hot path correctly scalar, batch paths should route through ndarray::simd (`LazyLock<Tier>` dispatch, gather_u8, xor_fold, etc). - super-domain-as-subcrate finding — each SuperDomain variant IS its own specialised subcrate; Tier C "consumer crate scaffolding" is specifically "super-domain subcrate scaffolding"; medcare migration is the proof case (3 crates → 1 healthcare re-export). - API drift mid-flight — medcare-rs failing during migration because D-SDR-1..5 grew the UnifiedBridge API in 5 steps over 7 days; 5-step operational mitigation (SHA pinning + must_use lint + deprecation + migration module + CHANGELOG). - OGIT-axis orthogonality clarification — the §1-§2 "4-level hierarchy" framing is partially misleading; SuperDomain × OGIT-basin × OWL-leaf × DOLCE-leaf are orthogonal axes, not strictly nested. Implications for per-row identity (6 bytes carry OWL only) vs column-side metadata (DOLCE / Foundry / Wikidata) and for masked-predicate composition (identity-axis predicate separate from upper-ontology-axis predicate). - §16-§19 correction — most was already delivered in PRs #355-#363+ (sprint-2 + sprint-3 + super-domain spec authoring). Outstanding work is composition + implementation of designs that exist; this is a morale + scope correction. IDEAS.md (1 new entry): - super-domain subcrate scaffolding cascade — 5-PR sequence (MedCare finalization → smb-bridge retrofit → woa-rs extraction → hiro-rs new → hubspot-rs new) that ships per-super-domain subcrates with manifest entries. Depends on Pattern E+F+cognition cascade. TECH_DEBT.md (3 new TD rows): - TD-API-DRIFT-MIDFLIGHT-1 (P0): consumer migrations blocked TODAY by API drift; needs operational discipline mitigation. - TD-SUPER-DOMAIN-SUBCRATES-1 (P1): 5 super-domain subcrate slots, medcare in-flight, smb in-flight, 3 not started. - TD-SIMD-CALLCENTER-BATCH-PATHS-1 (P2): batch hot-spots still scalar-loop where ndarray::simd is canonical (§19.2). https://claude.ai/code/session_01PjcbSTd9zdVPkta9qwkVKo
…est anchor
Two more 2026-05-13 epiphanies + one TD row capturing the user's
"wire OGIT ↔ OSINT ↔ Palantir Gotham / Neo4j route" + "remember
FMA 75K human anatomy as on-screen rendering smoke test" directives.
EPIPHANIES.md (2 new entries, prepended):
1. FMA smoke-test anchor (75K-entity OWL ontology) — the canonical
dual-purpose demo for the integration arc:
- Neo4j-ish edges propagation test (EWA-Sandwich Σ-push-forward
replaces 5-hop Cypher; Pillar 6 PR #289 certified)
- Healthcare super-domain test (UnifiedBridge<MedcareBridge> with
SuperDomain::Healthcare audit chain at FMA-scale)
- Visual rendering test (q2 cockpit + notebook-render produces
3D anatomy with heart-click → edges propagation visible)
- Touches all three substrate paths (thinking-engine cognition,
ractor supervisor, ndarray::simd batch compute)
- 6-phase sequencing converging on demoable end-to-end FMA-heart
query (phase 4 = Q2-2.x Cypher console + Q2 3D view ready)
2. OGIT ↔ OSINT ↔ Palantir/Neo4j ↔ q2 route — q2 is the 8th consumer
subcrate slot alongside the 5 super-domain subcrates (medcare-rs,
smb-office-rs, woa-rs, hiro-rs, hubspot-rs) + 2 OSINT-related
crates (aiwar-ingest in q2 workspace, external aiwar/neo4j-rs
/aiwar-neo4j-harvest research repos). Verified q2 is accessible
via MCP (mcp__github__get_file_contents on AdaWorldAPI/q2).
End-to-end route mapped from external user opening q2 notebook
through PolicyRewriter chain → DataFusion ScanExec → arrow render.
Gaps identified: q2's local lance-graph + ndarray stubs need
re-exports; notebook-query polyglot dispatcher needs wiring;
Q2Bridge (D-ONTO-V5-5) needs TTL+bridge work.
TECH_DEBT.md (1 new TD row, prepended):
TD-Q2-STUBS-DEDUP-1 (P1) — q2's crates/stubs/lance-graph and
crates/stubs/q2-ndarray are placeholders that must be replaced
with re-exports from AdaWorldAPI/lance-graph + AdaWorldAPI/ndarray
before FMA smoke-test can compile against the canonical pipeline.
~60 LOC PR + 2 integration tests proving type-universe coherence
(q2_lance_graph_canonical_test, q2_ndarray_simd_dispatch_test).
https://claude.ai/code/session_01PjcbSTd9zdVPkta9qwkVKo
…rants Sprint-4 CCA2A pass: 12 sonnet workers + meta agents scoped per-file, each appending to its own scratchpad via tee -a, addressing the 11 TD entries from 2026-05-13 + FMA-heart-click smoke-test convergence anchor. Landed specs (10): - sprint-4-execution-plan.md (W1, 24 KB) - td-q2-stubs-dedup.md (W2, 16.6 KB) — caught SpoQuad doesn't exist - td-api-drift-deprecation.md (W3, 21 KB) — silent Policy::evaluate drift - td-super-domain-subcrates.md (W4, 20.7 KB) - td-simd-callcenter-batch.md (W5, 15.9 KB) — real names: vsa_bind/hamming_batch_raw - td-thinking-engine-wire.md (W6, 21 KB) — ghosts/qualia/cognitive_stack composition - td-sdr-pr-release.md (W7, 15.3 KB) — D-SDR SHAs captured - td-sdr-audit-persist.md (W8, 23.8 KB) — merkle is u64 not [u8;32] - td-sdr-family-hydration.md (W9) - sprint-4-pr-graph.md (W12, ~6 KB) Pending retries (in flight): W10 (slot u16 + bridge-err audit), W11 (FMA heart-click smoke). Settings: added explicit Write/Edit/tee permissions for .claude/board/sprint-log-4/ and .claude/specs/ subtrees (covered by existing wildcards but explicit grants reduce subagent retry friction).
Closes sprint-log-4. All 12 worker specs + 2 meta reviews + sprint summary shipped (~280 KB total documentation). W10 (14.6 KB) — slot u8→u16 widen + bridge-err audit emission W11 (28 KB) — FMA heart-click smoke test, patched with BioPortal source + two-tier ingest (CSV-quick / OWL-full) + drug-knowledge crosswalk M1 review (16.3 KB) — brutal per-worker assessment; flagged 3 cross-spec inconsistencies (SpoQuad reality gap, merkle u64 spread, CognitionHandle vs CognitiveStack handshake), permission-bail failure mode for sprint-5 protocol fix M2 review (11.1 KB) — convergence story, 4 new canonical patterns (P-S4-1..4), 11 TD-row "In-Spec" status flips, MedCare-rs drug-KB pivot sprint-summary.md (6.1 KB) — handover for sprint-5 implementation pass Governance updates: - EPIPHANIES.md: prepend CONJECTURE entry on Gaussian-splat prerender + EWA-Sandwich + stream as Tier-3 FMA render path (Amiga-demoscene escape hatch for 75K-entity hydration) - IDEAS.md: matching idea row for sprint-5+ pickup
…s Pillar 6 (Σ push-forward), not a 3D renderer
User pointed to actual source: crates/jc/src/ewa_sandwich.rs +
crates/lance-graph-contract/src/sigma_propagation.rs + .claude/plans/
jc-pillars-runtime-wiring-v1{,-ERRATUM}.md + crates/jc/examples/
osint_edge_traversal.rs + splat_perturbationslernen.rs.
Real architecture: EWA-Sandwich = Σ_n = M_n·...·M_1·Σ_0·M_1ᵀ·...·M_nᵀ
along multi-hop edge paths. Pillar 6 certifies PSD-preservation
(10000/10000 hops in probe) + log-norm concentration at
Köstenberger-Stark rate (CV tightness 1.467×). Combined with Pillar
5 (Jirak scalar), 5+ (KS Σ-tensor), 5++ (DZ Hilbert), 7
(α-saturation), the full aggregation substrate sits on certified
ground.
Plus PR #288 (Σ-codebook viability, R² = 0.9949) rules out
CausalEdge64 8→16 byte expansion — 256-entry codebook with 1-byte
sidecar is sufficient.
EPIPHANIES: prepend CORRECTION-OF entry with the real math kernel +
pillar-stack composition; keep the original splat-conjecture entry
intact (append-only).
IDEAS: split into two distinct rows — (1) CORRECTION acknowledging
EWA-Sandwich is an existing certified pillar not a new idea;
(2) separate-and-orthogonal 3DGS render-buffer idea kept for
sprint-5+ pickup (different crate home, different math role).
sprint-4-execution-plan.md (W1): patched W1's wrong acronym
expansion ("Efficient Weighted Adjacency" → Elliptical Weighted
Average, Heckbert origin, Pillar 6 in JC framework, real code
locations cited).
… render substrate User pointed to /home/user/ndarray/src/hpc/renderer.rs (995 LOC) — a SIMD-accelerated double-buffer renderer for SPO graph visualization explicitly built for q2 cockpit / Palantir / Neo4j-style rendering. Front/back LazyLock<RwLock<RenderFrame>> with AtomicUsize swap; F32x16 mul_add force integration; 60fps canonical via cached_splat(DT_60). SoA: positions, velocities, charges, fingerprints. Collapses three same-day conjectures: no prerender needed, no new render crate needed, splat escape hatch deferred (measure live 60fps with 75K entities first). Three meanings of 'splat' in workspace, none are 3DGS scene rendering. Architectural lesson — compose, don't rebuild; grep ndarray before writing.
…l Σ' = J·Σ·Jᵀ applied to THREE Jacobians
User correction 2026-05-13: I wrongly split the three 'splat' meanings as
unrelated primitives that share a name. They are three APPLICATIONS of one
math kernel — the Σ push-forward of a Gaussian through an affine map.
Same Heckbert sandwich form. Three different Jacobians:
Render (J = camera projection) → ndarray::hpc::renderer
Graph propagation (J = edge step) → crates/jc/src/ewa_sandwich.rs
+ lance-graph-contract::sigma_propagation
Perturbation field (J = radial decay) → crates/jc/examples/splat_perturbationslernen.rs
Architectural consequence: the FMA heart-click demo gets all three for
free from the unified kernel — live 60fps EWA-splat render + Pillar 6
multi-hop Σ propagation along anatomy edges + perturbation-search
context retrieval. The prerender escape hatch is wrong on both axes:
substrate is SIMD-accelerated already, AND even if it failed the right
fix is reducing per-node Σ rank, not prerendering.
Sprint-5 reconciliation: add ndarray::hpc::renderer + JC pillar plan as
MANDATORY READS for any spec touching FMA, q2 cockpit, multi-hop edge
propagation, or covariance-based context search. Same lesson as W6
thinking-engine wire-up — compose, don't rebuild.
… — emerges from unified Σ-push-forward kernel User vision 2026-05-13: transparent holographic human-body projection (Tony Stark / Star Trek sickbay aesthetic) for q2. Captured as presentation-tier idea anchored to existing substrate so it doesn't get re-derived from scratch next session. Key insight: the look is mostly free from the kernel already in place. - Soft glow + transparency = Gaussian-splat alpha falloff (no separate shader) - Volumetric body = additive blending of 75K splats - Pulsing scan wave on click = Pillar 6 EWA-Sandwich Σ-displacement readout - Peelable layers = SuperDomain::Healthcare family slice filter - 60fps + rotation = cached_splat(DT_60) + double-buffer atomic swap What's new: ~200 LOC q2 frontend shader (additive Gaussian-splat + bloom + cyan palette), ~300 LOC FMA→RenderFrame canonical-pose seeder, tiny highlight column added to RenderFrame for bloom intensity. Rest is wiring of existing components (ndarray renderer + Pillar 6 + W4 MedcareBridge + W6 thinking-engine + W11 FMA spec). 4 sprint-5 candidate PRs ordered. 3 open frontend questions (layer toggles, audio cues, hover/click semantics).
…tscene-plus-gameplay, not competing User correction 2026-05-13: prior thrashing wrongly framed prerender vs live as either/or. Both are right, for different phases. AAA game pattern: prerendered cinematics for WOW + live engine for interaction. FMA holographic demo phase split: Intro cinematic — prerender 900-18000 frames (demoscene grade) — WOW Hand-off frame — prerender exit state == live initial state Live interaction — ndarray::hpc::renderer 60fps + Pillar 6 on click Transition clips — short prerendered 1-5s clips for system switches Outro / share — capture live session to splat stream Build surface: ~500 LOC prerender pipeline (new crate fma-cinematic), ~100 LOC handoff contract, 10-20 hand-curated transition clips as release artifact (bgz7-style). Storage format open: Arrow batches / MP4 / .splat / custom temporal-delta codec. Lesson: when conjecturing an alternative substrate, ask 'different phase of same UX or competing implementation?' Three correction cycles in EPIPHANIES today were a false-dichotomy thrash. Same lesson at the math layer (one kernel, three Jacobians).
…t feature — owner=demo budget, sprint-5 stays focused on substrate
User clarification 2026-05-13: the holographic projection exists to
'get customers hooked' — conversion-funnel eye candy. Reframes priority
across the prior three same-day idea entries.
Key shift:
- Owner: demo / marketing budget, NOT sprint-5 engineering scope
- Substrate dependency: zero in either direction — opaque pixels
- Priority: LOWER than sprint-5 substrate work (W4/W6/W8/W10/W11)
- Build when funded: parallel track, ~500 LOC + 1 week + render farm
- Procedural T-pose seeder works fine for the cinematic; no FMA SPO
data needed
Sprint-5 substrate work stands unchanged. The cinematic decorates the
product; don't let WOW seduce engineering hours away from the audit
chain. Earlier handoff-contract / transition-library / outro-share
remain valid for v1.x customer-facing features when sales asks.
…6-color palette (demoscene sweet spot) User-sized 2026-05-13: prerendered cinematic frames fit Lance trivially at any palette point. 16-color (4-bit nibble-packed) is the sweet spot: 4-color 207 MB / 4.1 GB too restrictive for anatomy gradients 16-color 415 MB / 8.3 GB sweet spot — ~80-150 MB after Lance compression 256-color 829 MB / 16.5 GB overkill, kills demoscene constraint Lance schema: one PaletteRow + N FrameRows (frame_id, timestamp_us, 4-bit-packed indices, keyframe bool). Versioning + random-access seek + time-travel built in. Alternatives ruled out: Rust game engine — wrong tool (live engines, re-derive renderer) Quarto — wrong layer (pitch deck around cinematic) Unity WebGL — wrong dep (non-Rust runtime, 20-100 MB bundle) Why 16-color wins: AVX2 _mm256_unpack decodes 64 px/instruction (60fps playback in ndarray::simd dispatch); shared palette across all frames = 10x metadata compression; forced palette discipline IS the aesthetic (Andromeda/Sanity/Spaceballs demoscene precedent). Build pipeline: offline tool reads scripted trajectory + procedural T-pose; renders high-quality offline; Floyd-Steinberg dither to curated cyan/teal palette; write Lance rows; q2 playback streams + AVX2-unpacks + blits. Closes the storage-format open question from the prior REFRAME entry.
…cated existing .claude/plans/ corpus User surfaced 5 prior plans 2026-05-13 evening: anatomy-realtime-v1.md (19 KB) — IS W11's FMA spec, pre-existing unified-ogit-architecture-v1.md (30 KB, 15 patterns A-O) — supersedes W1 ogit-g-context-bundle-v1.md — already exists (sprint-3 cited) super-domain-rbac-tenancy-v1.md (86 KB, 1387 lines) — canonical PR #363 spec compile-time-consumer-binding-v1.md (23 KB) — Pattern E + F sprint-2 plan Plus prior find: jc-pillars-runtime-wiring-v1.md, lance-graph-rdf-fma-snomed-v1.md, 2026-05-06-splat-osint-ingestion-v1.md, tetrahedral-epiphany-splat-integration-v1.md, foundry-roadmap-unified-smb-medcare-v1.md Duplication audit: W1 / W4 / W6 / W11 specs partially restate prior plans; W3 / W7 / W8 / W9 / W10 / W12 added real value. The workers did not grep .claude/plans/ before drafting. Same root-cause pattern surfaced THREE times in one session: math layer — one kernel Σ' = J·Σ·Jᵀ, three Jacobians substrate — ndarray::hpc::renderer already exists at 60fps plan layer — 30+ plans already cover the architectural surface Fix: sprint-5 worker prompt template MUST include a mandatory read-order section pointing at .claude/plans/ as hard precondition to spec writing. 12-step read-order added to the EPIPHANIES entry covering the most-relevant plans by domain. Sprint-5 priority stack revised: Tier 1 surgical fixes (W10/W8/W9) stand but reframed as DELTA against super-domain-rbac-tenancy §13; Tier 2 W4/W6 specs should be REPLACED with delta-against-prior-plan patches; Tier 3 W11 spec replaced with citation+patches to anatomy-realtime-v1 + lance-graph-rdf-fma-snomed-v1.
… sprint, file scope per agent
5 sprints × (12 workers + 2 meta) = 70 agents total. Every W{N} owns
exactly ONE distinct .claude/specs/ file path. Meta agents own
distinct .claude/board/sprint-log-{N}/meta-*-review.md paths.
Sprint 5 (1 wk, substrate close-out): PR-A D-SDR-3/4/5 follow-up + 5
surgical fix PRs (slot widen, bridge-err audit, audit sinks Lance+JSONL,
family hydration, compat shim)
Sprint 6 (2 wk, Tier-2 wiring): 5 super-domain subcrate cascade PRs
(medcare/smb/woa/hiro/hubspot) + thinking-engine wire + manifest modules
+ ractor supervisor — ALL extending prior plans, not redrafting
Sprint 7 (1 wk, FMA convergence): lance-graph-rdf border crate + FMA
two-tier ingest + q2 Cypher wire + heart-click integration test +
Pillar 6 EWA propagation + SIMD callcenter retrofit + SNOMED+RadLex
companions + drug-knowledge crosswalk
Sprint 8 (2 wk, compliance): TTL namespaces + HIPAA/SOX/GDPR cert
surfaces + OSINT LanceProbe + Federation Phase 2 + audit replay CLI +
BAA export + encryption-at-rest gate — addresses D-SDR-6..D-SDR-39
deferred by PR #363
Sprint 9 (1-2 wk, sales asset, parallelizable): holographic q2 UX
(splat shader + highlight column + canonical pose + layer toggle) +
prerender cinematic pipeline (offline tool + player + release artifact)
+ camera storyboard + palette curation + audio cues + recording script
Critical-path total (5+6+7): 4 weeks, ~7100 LOC. Sprints 8/9
independently scheduleable.
Pattern documented end-to-end:
- pre-write SPRINT_LOG.md with roster + mandatory reads
- 12 sonnet workers parallel-spawn in single main-thread call
- meta agents (opus) after workers complete
- main thread aggregates commits + pushes
- governance updates per board-hygiene rule
Worker-prompt template fix from sprint-4 retro baked in: every prompt
includes 12-step .claude/plans/ mandatory-read list as hard precondition.
…ory worker-prompt template
Replaces in-place edits with cleaner end-to-end document. Adds worker-prompt
template at top with mandatory 12-step .claude/plans/ read-order (sprint-4
retrospective fix). Every W{N} owns ONE .claude/specs/ path; every
M{1,2} owns ONE .claude/board/sprint-log-N/meta-*-review.md path.
70 agents total across 5 sprints, ~12.4k LOC, 7-9 calendar weeks.
Critical path (sprints 5+6+7) = 4 weeks ~7100 LOC, 36W+6M.
5 open questions for human reviewer flagged at bottom of plan.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ec1897677d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ed in ndarray master moved blake3 behind the hpc-extras feature gate as part of the i686/no_std unblock work (AdaWorldAPI/ndarray PR #141). lance-graph specifies default-features = false on its ndarray dep and previously only opted into 'std', which left blake3 unresolved at workspace build time even though src/hpc/{plane,seal,merkle_tree,vsa}.rs use it unconditionally. Adding 'hpc-extras' to the feature list restores the hash dep. lance-graph already uses every other HPC module from the fork (Fingerprint, CAM-PQ, CLAM, BLAS, ZeckF64), so opting into hpc-extras is the intended posture for this consumer. Fixes the linux-build, test, and test-with-coverage failures on PR #364.
Per chatgpt-codex-connector review on PR #364: emit_audit was calling super_domain_for_family(owl.family()) to look up the super-domain via FAMILY_TO_SUPER_DOMAIN — a private all-Unknown static with no mutation API in the current repo. Every event was therefore stamped Unknown even when the caller wired .with_audit_chain(SuperDomain::Healthcare, …), silently breaking compliance partitioning on the audit stream. AuditChain already carries the configured super_domain (the same field fed into the merkle salt), so the chain itself is the single source of truth. Stamp the event from chain.super_domain instead of the static lookup, holding the chain lock across the read+advance so the event and the chain commit agree by construction. The FAMILY_TO_SUPER_DOMAIN reverse-lookup table stays in place — it lands hydrated in sprint 5 (D-SDR-3b family-hydration worker) once a loader from the registry exists. Until then, the chain's configured domain is the authoritative stamp. Test updated to assert SuperDomain::WorkOrderBilling (the chain's configured value) instead of the placeholder Unknown. 96/96 callcenter lib tests pass. Refs: PR #364 review threads (P2 priority).
…stry IDs in audit Per chatgpt-codex-connector P1 review on PR #364: owl_from_schema_ptr truncated SchemaPtr::entity_type_id (u16) to 8 bits, so distinct authorized entities whose registry IDs differ by 256 collided in the audit log. RegistryState::append allocates IDs globally as rows.len()+1 u16, not per-namespace u8 slots, so the truncation was reachable on otherwise-valid hydrated registries. User decision (sprint-5-roadmap OQ): widen now, not defer to sprint 5. Contract-level change rippling through three call sites: * OwlIdentity: 2-byte packed u16 -> named fields { family: OgitFamily, slot: u16 }. raw() removed; replaced by to_canonical_bytes() -> [u8; 3] returning the deterministic on-wire form [family, slot_lo, slot_hi]. new()/is_slot() now take slot: u16. UNKNOWN literal updated. * owl_from_schema_ptr: drop the & 0xFF truncation; entity_type_id flows through full-width. * UnifiedAuditEvent::canonical_bytes: grows 25 -> 26 bytes. owl now occupies [13..16); op/decision/role_hash offsets shifted by 1. Wire format is breaking for any persisted audit log — none exist outside test fixtures at this commit, so no migration is needed in tree. Cross-language emitters (Rust / C#) get the new layout via OwlIdentity::to_canonical_bytes. * OgitFamilyTable: [Option<FamilyEntry>; 256] dense array -> sparse HashMap<u16, FamilyEntry>. Lookups stay O(1); resident set scales with occupied-slot count, not the u16 keyspace. set()/clear() now take slot: u16. The doc comments' '256-slot' framing is replaced by 'sparse map'. Tests: * slot_keyspace_distinguishes_high_ids — locks the new invariant by asserting slot 7 and slot 7+256 stay distinct (would alias under the old layout). * canonical_bytes_round_trips_field_order — updated to the 26-byte layout and to_canonical_bytes() projection. 97/97 callcenter lib tests pass. Refs: PR #364 review threads (P1 priority); sprint-5 roadmap OQ 'PR-D5 compat shim vs coordinated cutover' — resolved as cutover (no compat shim because no on-disk audit log exists yet outside test fixtures).
Lockfile follow-up to a3c753f: enabling ndarray/hpc-extras pulls in blake3, fractal, and p64 as transitive deps; the lock now reflects that.
AdaWorldAPI
pushed a commit
that referenced
this pull request
May 13, 2026
…1/P2 fixes) PREPEND #364 entry to PR_ARC_INVENTORY.md (Added / Locked / Deferred / Docs / Confidence / Correction lines per the file's append-only contract). Update LATEST_STATE.md header and PR table row with #364 summary plus ndarray #142 adjacent-landing note. Per CLAUDE.md Mandatory Board-Hygiene Rule: a merged PR requires LATEST_STATE row + PR_ARC PREPEND in the same commit. This entry closes that gap (commit lands after merge because #364 was merged before this session reconstructed state; not a same-PR commit but the durable record is what the rule protects). Notes on locked decisions: * OwlIdentity canonical wire form is now 3 bytes [family, slot_lo, slot_hi]; cross-language emitters use OwlIdentity::to_canonical_bytes. * UnifiedAuditEvent::canonical_bytes is 26 bytes (owl at [13..16)). * OgitFamilyTable is sparse HashMap<u16, FamilyEntry>; 256-slot framing retired. * Audit super_domain comes from AuditChain.super_domain(), not the static FAMILY_TO_SUPER_DOMAIN. * Sprint-5+ worker prompts: 12-step .claude/plans/ read-order is a hard precondition. Deferred (documented in #364 entry, not closed by this commit): * PR-B medcare-rs UnifiedBridge: commits on remote integration branch, no PR opened. * PR-C smb-office-rs UnifiedBridge: same shape. * Per-namespace u8 slot in RegistryState::append: declined this session (widening to u16 in 3208743 is the chosen fix; per-namespace would cascade into BindSpace + enumerate_first_with_entity_type_id rewrite, see TECH_DEBT).
AdaWorldAPI
pushed a commit
that referenced
this pull request
May 13, 2026
#364 Sprint-5 cross-repo coordinated landing complete: MedCare-rs#112 (PR-B, UnifiedBridge<MedcareBridge> + medcare-rbac/realtime substrate) and smb-office-rs#31 (PR-C, UnifiedBridge<OgitBridge> wiring) both merged 2026-05-13 same day as lance-graph #364 + ndarray #142. Updates: * PR_ARC #364 Confidence line: append "Adjacent landings (2026-05-13)" note listing both downstream merges. Confidence line is the only mutable field per APPEND-ONLY RULE point 3. * LATEST_STATE header: rewrite to capture the full four-PR landing (lance-graph + MedCare + smb-office + ndarray) so cold-start sessions see the coordinated landing at a glance. D-SDR-5's UnifiedBridge surface is now consumed end-to-end.
AdaWorldAPI
pushed a commit
that referenced
this pull request
May 13, 2026
…tch (W1 + W8 still in flight) Sonnet worker fleet (12 parallel) producing PR-ready specs for the remaining sprint-5 follow-ons + sprint-6 Tier-2 wiring. This commit captures 10 of 12 outputs that landed cleanly; W1 (LanceAuditSink) and W8 (woa-rs extraction) are respawns still running. Sprint-5 specs (substrate already shipped in PR #364): * pr-d3b-jsonl-and-verify.md (W2, 27 KB) — JsonlAuditSink + CompositeSink + verify CLI * pr-d4-family-hydration.md (W3, 16 KB) — TTL hydration of FAMILY_TO_SUPER_DOMAIN * sprint-5-ci-matrix.md (W4, 21 KB) — green-gate criteria + target matrix * sprint-5-pr-graph.md (W5, 16 KB) — retro of 4-PR landing + sprint-6 unblock map Sprint-6 specs (Tier-2 composable wiring): * pr-e1-medcare-super-domain.md (W6, 26 KB) — MedCare finalisation, ~900 LOC * pr-e2-smb-retrofit.md (W7, 11 KB) — 5 bypass sites + audit emission * pr-f1-thinking-engine-wire.md (W9, 16 KB) — UnifiedBridge gate for cross-tenant ops * pr-g1-manifest-modules.md (W10, 27 KB) — build.rs codegen, no cycle * pr-g2-ractor-supervisor.md (W11, 25 KB) — per-G actor, one-for-one supervision * sprint-6-conformance-test.md (W12, 26 KB) — 10 contract assertions across consumers Permissions: settings.json grants Write/Edit on .claude/board/sprint-log-5-6/** to unblock workers writing into the per-agent scratchpad dir. A2A scratchpads at .claude/board/sprint-log-5-6/agents/ (one per worker). AGENT_ORCHESTRATION_LOG.md gets one-line per agent on completion. W1 + W8 respawns + Opus meta review to follow in subsequent commits.
9 tasks
AdaWorldAPI
pushed a commit
that referenced
this pull request
May 13, 2026
…364 + smb-office-rs PR #31 Section 5 row added: lance-graph PR #364 (D-SDR-1..5) shipped the UnifiedBridge<B> + TenantId surface; smb-office-rs PR #31 wired smb_unified_bridge(registry, namespace, role, tenant) -> UnifiedBridge<OgitBridge>. Currently locked to OgitBridge per-namespace; future SmbBridge (OGIT/NTO/SMB/) drops in via type-param swap with no call-site change. Coexistence framing: the new authorize_read/write/act path is complementary to the legacy SmbMembraneGate / CachedOntology surface. Both stay until SMB TTL hydrates the registry, at which point the legacy hand-rolled Ontology in smb-realtime/src/ontology.rs retires. Footer updated to pin against current main SHAs (lance-graph da156eb, smb-office-rs 074ce9b).
AdaWorldAPI
pushed a commit
that referenced
this pull request
May 13, 2026
…364 + smb-office-rs PR #31 Section 5 row added: lance-graph PR #364 (D-SDR-1..5) shipped the UnifiedBridge<B> + TenantId surface; smb-office-rs PR #31 wired smb_unified_bridge(registry, namespace, role, tenant) -> UnifiedBridge<OgitBridge>. Currently locked to OgitBridge per-namespace; future SmbBridge (OGIT/NTO/SMB/) drops in via type-param swap with no call-site change. Coexistence framing: the new authorize_read/write/act path is complementary to the legacy SmbMembraneGate / CachedOntology surface. Both stay until SMB TTL hydrates the registry, at which point the legacy hand-rolled Ontology in smb-realtime/src/ontology.rs retires. Footer updated to pin against current main SHAs (lance-graph da156eb, smb-office-rs 074ce9b).
AdaWorldAPI
pushed a commit
that referenced
this pull request
May 14, 2026
link_and_entity_type_id_resolution was written before PR #364's Codex P1 fix (`3208743`), when registry-created rows always carried ontology_context_id = 0. That fix made RegistryState::append stamp the seeded id from NamespaceRegistry::seed_defaults() — Healthcare = 2 — so the MulThresholdProfile MEDICAL/CALLCENTER lookup at driver.rs:303-321 actually fires for Healthcare/WorkOrder/Medical rows instead of always selecting DEFAULT. The test assertion `== 0` is stale; the desired behavior is `== 2`. Closes the pre-existing test failure flagged in the conflict-resolution commit message. Listed in PR #369's deferred backlog as the Tier B "per-row BindSpace.context_ids for driver.rs:311" follow-up — this is the test-side; the BindSpace SoA layout change remains sprint-10.
AdaWorldAPI
pushed a commit
that referenced
this pull request
May 14, 2026
Architectural reference docs surfaced by the sprint-log-10 work + post-sprint research into the hot-path mental model. All 8 docs carry `READ BY:` headers per the .claude/knowledge/ convention and cite shipped source with file:line refs. Docs (~123 KB total): 1. causal-edge-64-spo-variant.md The causal-edge::CausalEdge64 (SPO-palette layout): S/P/O palette + NARS f/c + Pearl 2³ mask + direction + inference + plasticity + temporal. Full bit layout + accessors + forward()/learn() cycle. 2. causal-edge-64-thinking-engine-variant.md The thinking_engine::layered::CausalEdge64 (8-channel cascade): BECOMES / CAUSES / SUPPORTS / REFINES / GROUNDS / ABSTRACTS / RELATES / CONTRADICTS, each 1 byte. NOT the same type as the SPO-palette variant despite sharing the name. 3. causal-edge-64-synergies-and-pr-trajectory.md What each variant does BETTER + thinking-engine function mapping + PR #364/365/366 trajectory analysis + reunification Options R-1 (CausalEdge128) / R-2 (paired tuple) / R-3 (recommended: tier separation + transcode at L3 commit). 4. spo-schema-and-mailbox-sidecar.md SPO-G (named-graph quad) vs SPO-W (witness tetrahedron, per oxigraph-arigraph-cognitive-shader-soa-merge-v1.md §8) vs both. Time-as-sidecar correction: CausalEdge64 IS the sidecar (AGI-as- glove doctrine), not a bearer of one. Mailbox payload per Σ-tier. 5. spo-ontology-format-stack.md Format ladder: 3×16Kbit lossless → ZeckBF17 → Base17 (bgz17) → PaletteEdge / CAM-PQ → Scent → CausalEdge64. Selection matrix per use case (witness corpus, multi-hop, neighborhood search, cycle- speed dispatch). 6. ogit-owl-dolce-ontology-compartments.md OGIT (domain content) + OWL (formal axioms) + DOLCE (orthogonal categorical scaffold). CAM codebook = OGIT manifestation in quantized form. 8-channel ↔ OWL axiom near-isomorphism: SUPPORTS↔sameAs, REFINES↔subClassOf-down, ABSTRACTS↔subClassOf-up, CONTRADICTS↔disjointWith, etc. 7. cognitive-shader-driver-thinking-engine-reunification.md The p64 drift origin pinpointed at lance-graph-planner/src/cache/ convergence.rs:18-22: `#[allow(unused_imports)] // CausalEdge64 intended for hot-path convergence wiring` — wiring started, never finished, smoking gun for where the dual-variant drift formalized. 5-step reunification plan. 8. splat-shader-rayon-struct-method-vision.md Splat ops (splat_gaussian, score_hole_closure, etc.) as BLAS-class field operations over the 4096×4096 SPOW question surface. ndarray struct methods + rayon work-stealing par_* variants. The "computational entropy through struct object-oriented" framing: caller LOC 7-15 → 1-3 per cycle, state-passing bugs eliminated. Correction of prior session framing: "AriGraph reads = µs+ cold-path joins" was wrong. AriGraph entity_index is O(1) HashMap, Zone-1 (20-200 ns). Three-zone model now documented: - Zone-1 (cycle-speed): thinking-engine MatVec 200-500ns + AriGraph entity_index lookup 20-200ns - Zone-2 (SPO-as-3D-vector ANN): blasgraph + neighborhood cascade HEEL→HIP→TWIG→LEAF, 20-1200µs - Zone-3 (cold-path): DataFusion / lance-graph-planner, >1ms https://claude.ai/code/session_01UwJuKqP828qyX1VkLgGJFS
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to PR #363 (D-SDR-1 + D-SDR-2 merged at
421e71e). Ships the remaining Tier-A D-SDR substrate (D-SDR-3/4/5) + sprint-log-4 governance corpus + sprint-5-through-9 roadmap.Predecessor: PR #363 explicitly named D-SDR-3/4/5 as "NOT in this PR". This PR closes that loop.
Product code (4 commits, ~760 LOC)
2c3e87dOgitFamilyTable+FamilyEntryper-family codebook (inline label + schema + verbs persuper-domain-rbac-tenancy-v1.md §3.3)1d0157fUnifiedAuditEventlog forUnifiedBridge(AuditMerkleRootisu64FNV-1a per implementation)dabd510dc9e081authorize_*throughPolicy::evaluatechain with audit emission on every decisionTogether these complete the Tier-A starter substrate. The next sprint's surgical fixes (slot u8→u16 widen, bridge-error audit emission, Lance/JSONL audit sinks, family hydration) compose on top.
Sprint-log-4 governance corpus (~280 KB)
12-worker CCA2A sprint converting the 11 TD rows from
.claude/board/TECH_DEBT.md(2026-05-13 batch) into PR-ready implementation specs:.claude/specs/covering Q2 stubs dedup, D-SDR API drift deprecation, super-domain subcrate cascade, SIMD callcenter retrofit, thinking-engine UnifiedBridge wire, D-SDR PR release plan, audit Lance/JSONL sink, family hydration TTL, slot widen + bridge-err audit, FMA heart-click smoke test.claude/board/sprint-log-4/meta-*-review.md.claude/board/sprint-log-4/Sprint-4 brutally honest retrospective (see
EPIPHANIES.md2026-05-13 duplication-audit entry): several worker specs partially duplicated existing.claude/plans/content. Sprint-5+ worker prompts get a mandatory 12-step.claude/plans/read-order as hard precondition.Sprint 5–9 roadmap
New plan at
.claude/plans/sprint-5-through-9-roadmap-v1.md— 70 agents (60 workers + 10 meta) across 5 sprints, every agent owns one file:Critical-path total (5+6+7): 4 weeks, ~7100 LOC, 36 workers + 6 meta. Sprints 8 + 9 independently scheduleable.
Key epiphanies harvested today (
.claude/board/EPIPHANIES.md)Σ' = J·Σ·Jᵀapplied to THREE Jacobians (camera projection inndarray::hpc::renderer, edge step in Pillar 6crates/jc/src/ewa_sandwich.rs, radial decay incrates/jc/examples/splat_perturbationslernen.rs)ndarray::hpc::rendereris the canonical 60fps SIMD double-buffer renderer for q2 cockpit / Palantir / Neo4j-style visualization — the FMA heart-click 3D anatomy view already has its render substrate.claude/plans/corpus, not redraft from scratchVerification
cargo check -p lance-graph-callcenterclean.claude/governance + spec corpus)main, clean working treeWhat's NOT in this PR
Same deferral list as PR #363's "What's NOT in this PR" — TTL namespaces, full compliance certification, federation Phase 2, drift bridge LanceProbe M5/M6 — but now with explicit sprint-5/6/7/8 ownership in the roadmap. Sprint-5 surgical fixes (slot widen, bridge-err audit, audit sinks, family hydration, compat shim) ship as a separate PR series per the roadmap.
Companion PRs (not auto-opened — needs human decision per roadmap OQs)
AdaWorldAPI/MedCare-rs#?— medcare-rs UnifiedBridge wiring (commits exist locally onclaude/lance-datafusion-integration-gv0BFof that repo per W7 spec)AdaWorldAPI/smb-office-rs#?— smb-office-rs UnifiedBridge wiring (same pattern)Test plan
cargo build -p lance-graph-callcenter— should succeed against the merged D-SDR-3/4/5 surfacecargo test -p lance-graph-callcenter unified_audit— D-SDR-4 merkle chain testscargo test -p lance-graph-callcenter unified_bridge— D-SDR-5 authorize_* + audit emission testscargo test -p lance-graph-callcenter super_domain— D-SDR-3 codebook table testscargo clippy -p lance-graph-callcenter --tests --no-deps -- -D warningsclean on new codelance-graph-rbac::Policyintegration (D-SDR-5 wires through it)Generated by Claude Code