Skip to content

Commit 5de345e

Browse files
committed
docs(board): post-merge governance for PR #364 (D-SDR-3/4/5 + codex P1/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 2089c1c is the chosen fix; per-namespace would cascade into BindSpace + enumerate_first_with_entity_type_id rewrite, see TECH_DEBT).
1 parent 0c0b4bd commit 5de345e

2 files changed

Lines changed: 40 additions & 1 deletion

File tree

.claude/board/LATEST_STATE.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
> **Auto-injected at session start via SessionStart hook.**
44
> Updated after every merged PR.
5-
> **Last updated:** 2026-05-07 (PR #354 merged: governance close-out for #353; cross-repo coordinated landing complete with OGIT#2 + woa-rs#2 + MedCare-rs#109). Prior: 2026-05-07 (PR #353 merged). Prior: 2026-05-07 (PR #352 merged). Prior: 2026-05-06 (splat-osint-ingestion-v1 PR 1+2 of 6 in flight). Prior: 2026-04-21 post PR #243.
5+
> **Last updated:** 2026-05-13 (PR #364 merged: D-SDR-3/4/5 + sprint-log-4 governance + sprint-5-9 roadmap + codex P1/P2 surgical fixes; OwlIdentity widened to 3-byte canonical form; UnifiedAuditEvent grows to 26 bytes; OgitFamilyTable becomes sparse `HashMap<u16, FamilyEntry>`; audit super_domain stamping fixed; CI green on `c8176cb`. Adjacent landing: ndarray PR #142 merged 2026-05-13 — VBMI gate for `permute_bytes` (P0 SIGILL fix on Skylake-X / Cascade Lake / Ice Lake-SP) + Inf clamp for `simd_exp_f32`). Prior: 2026-05-07 (PR #354). Prior: 2026-05-07 (PR #353). Prior: 2026-05-07 (PR #352). Prior: 2026-05-06 (splat-osint-ingestion-v1 PR 1+2 of 6 in flight). Prior: 2026-04-21 post PR #243.
66
>
77
> Purpose: prevent new sessions from hallucinating structure that
88
> already exists or proposing features already shipped. Read this
@@ -14,6 +14,7 @@
1414

1515
| PR | Merged | Title | What it added |
1616
|---|---|---|---|
17+
| **#364** | 2026-05-13 | D-SDR-3/4/5 + sprint-log-4 governance + sprint 5-9 roadmap + codex P1/P2 | Tier-A substrate close: **D-SDR-3** OgitFamilyTable + FamilyEntry codebook (~300 LOC), **D-SDR-4** merkle-chained UnifiedAuditEvent (~460 LOC, AuditMerkleRoot = u64 FNV-1a), **D-SDR-5** authorize_* through Policy::evaluate with audit emission (~300 LOC). **Codex P1 fix** (`3208743`): OwlIdentity widened u8→u16 slot → 3-byte canonical `[family, slot_lo, slot_hi]`; OgitFamilyTable → sparse `HashMap<u16, FamilyEntry>`; UnifiedAuditEvent canonical_bytes 25→26. **Codex P2 fix** (`e23ce89`): emit_audit uses AuditChain.super_domain() instead of static FAMILY_TO_SUPER_DOMAIN. **CI fix** (`a3c753f`): ndarray/hpc-extras opt-in for blake3. Sprint-log-4 governance corpus (12 worker specs + 2 meta reviews) + sprint-5-through-9 roadmap (70 agents = 60W + 10M across 5 sprints, mandatory 12-step plan-read-order in worker prompts). 97/97 callcenter lib tests pass. All 5 CI checks green on `c8176cb`. Adjacent: ndarray#142 (VBMI gate + Inf clamp) merged same day. |
1718
| **#354** | 2026-05-07 | gov: #353 post-merge + cross-repo adjacent-landings | Pure governance close-out. PR_ARC entry for #353 + LATEST_STATE row. Documents the 5-PR coordinated landing across 4 repos: lance-graph #352/#353/#354 + OGIT #2 (woa+medcare bridges unblocked for OGIT-O(1)) + woa-rs #2 (cross-repo `--features ontology` integration) + MedCare-rs #109 (`?source=lance` exercising Zone 2 → Zone 3 rewriter chain). Locks: append-only board hygiene durability across 4 sequential prepends; cross-repo coordinated-landing recipe. |
1819
| **#353** | 2026-05-07 | plan: palantir-parity-cascade v2 + SoA DTO entropy ledger + #352 post-merge governance | Three artifacts. **v2 capstone** (262 lines): integrates 4 prior Foundry parity docs. Pillar 0 carry-forward: Foundry parity IS SoA-as-canon parity. Column H (PR #272 SHIPPED) is already the Foundry Object Type bridge. 15 D-PARITY-V2 deliverables. **SoA DTO entropy ledger** (210 lines, append-only knowledge): 22 DTOs classified across 4 tiers (sensor → engine → contract → callcenter). Buckets: 9 bare-metal / 7 SoA-glue / 6 bridge-projection (3 OPEN). `ResonanceDto` IS the SoA. Codec cascade columns all OPEN today. **#352 post-merge governance**: PR_ARC + LATEST_STATE updates. |
1920
| **#352** | 2026-05-07 | plan: lance-graph-ontology v5 + ogit-cascade v1 | Two-plan PR. **v5** (177 lines): 15 deliverables for ontology crate post-merge follow-on (D-1 dcterms:source, D-2 SpoBridge::promote_to_spo, D-9 ontology-aware MUL thresholds). 4 ratifications (smb-ontology export-only, D-9 above D-2, MulThresholdProfile in lance-graph-contract, OGIT-fork upstream non-PR). **v1 cascade** (209 lines): 15 D-CASCADE deliverables for SoA-as-canon + Zone 1/2/3 + BioPortal arsenal + bridge collapse. **Pillar 0**: OntologyRegistry IS the SoA, schema IS the DTO + name→row index. **Codec cascade per row** (target state, NOT YET WIRED — D-CASCADE-V1-7): identity Vsa16kF32 → CAM-PQ 6 B → Base17 34 B → palette key 4 B → Scent 1 B + qualia 18×f32 + meta 8 B + edge 8 B, every step O(1). |

.claude/board/PR_ARC_INVENTORY.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,44 @@
3535
3636
---
3737

38+
## #364 — D-SDR-3/4/5 + sprint-log-4 governance + sprint 5-9 roadmap + codex P1/P2 fixes (merged 2026-05-13)
39+
40+
**Confidence (2026-05-13):** merged clean, all 5 CI checks green on `c8176cb`. Codex review threads auto-marked Outdated by GitHub after the surgical fixes shipped pre-merge. **Status:** Merged to `main`.
41+
42+
**Added:**
43+
- **D-SDR-3** (`2c3e87d`, ~300 LOC): `OgitFamilyTable` + `FamilyEntry` per-family codebook (inline label + schema + verbs per `super-domain-rbac-tenancy-v1.md §3.3`).
44+
- **D-SDR-4** (`1d0157f`, ~460 LOC): merkle-chained `UnifiedAuditEvent` log for `UnifiedBridge`. `AuditMerkleRoot = u64` FNV-1a.
45+
- **D-SDR-5** (`dc9e081`, ~300 LOC): wire `authorize_*` through `Policy::evaluate` chain with audit emission on every decision.
46+
- **Codex P1 surgical fix** (`3208743`): widen `OwlIdentity` slot u8 → u16. Layout becomes `{ family: u8, slot: u16 }` = 3 bytes on-wire. `OgitFamilyTable` migrates from `[Option<FamilyEntry>; 256]` to sparse `HashMap<u16, FamilyEntry>`. `UnifiedAuditEvent::canonical_bytes` grows 25 → 26 bytes (`owl` slice [13..16); op/decision/role_hash offsets shift by 1). New test `slot_keyspace_distinguishes_high_ids` locks the invariant. `to_canonical_bytes() -> [u8; 3]` replaces `raw()`.
47+
- **Codex P2 surgical fix** (`e23ce89`): `emit_audit` stamps `super_domain` from `self.audit_chain.super_domain()` instead of the all-`Unknown` static `FAMILY_TO_SUPER_DOMAIN` lookup.
48+
- **CI build fix** (`a3c753f`): enable `ndarray/hpc-extras` feature so `blake3` resolves in the workspace build.
49+
- **Sprint-log-4** governance corpus (~280 KB): 12 worker specs at `.claude/specs/`, 2 meta reviews at `.claude/board/sprint-log-4/meta-{1,2}-review.md`, sprint summary + per-worker scratchpads.
50+
- **Sprint-5-through-9 roadmap** at `.claude/plans/sprint-5-through-9-roadmap-v1.md` (70 agents = 60 workers + 10 meta across 5 sprints).
51+
- `Cargo.lock` updated post hpc-extras opt-in (`c8176cb`).
52+
53+
**Locked:**
54+
- **OwlIdentity canonical wire form = 3 bytes** `[family, slot_lo, slot_hi]`. Any cross-language emitter (Rust / C#) MUST use `OwlIdentity::to_canonical_bytes()`. The old 2-byte packed `u16` layout is gone; no compat shim because no on-disk audit log exists outside test fixtures at this commit.
55+
- **`UnifiedAuditEvent::canonical_bytes` is 26 bytes**, owl at `[13..16)`. Wire-format breaking for any persisted audit log.
56+
- **`OgitFamilyTable` is sparse** (`HashMap<u16, FamilyEntry>`); the "256-slot dense array" framing in prior doc comments is replaced by "sparse map".
57+
- **Audit events take super_domain from the configured `AuditChain.super_domain()`**, not from a static family→domain table. `FAMILY_TO_SUPER_DOMAIN`'s purpose narrows to a fallback / future hydration mechanism.
58+
- **Sprint-5+ worker prompts have a mandatory 12-step `.claude/plans/` read-order** as hard precondition (per sprint-4 retrospective: worker specs duplicated existing plan corpus when read-order was advisory).
59+
60+
**Deferred:**
61+
- TTL namespaces, full compliance certification, federation Phase 2, drift bridge LanceProbe M5/M6 — owned by sprints 6/8 per roadmap.
62+
- **PR-B medcare-rs UnifiedBridge wiring**: commits exist locally on `claude/lance-datafusion-integration-gv0BF` in `MedCare-rs` repo (already pushed to remote integration branch, no PR opened yet).
63+
- **PR-C smb-office-rs UnifiedBridge wiring**: same shape, commits already on remote integration branch in `smb-office-rs`, no PR opened yet.
64+
- **Per-namespace u8 slot allocation in `RegistryState::append`**: declined this session — widening to u16 carrier in `3208743` is the chosen fix path. Per-namespace allocation would require widening `BindSpace.entity_type` from bare u16 to carry `(namespace_id, entity_type_id)` and rewriting `enumerate_first_with_entity_type_id` (currently relies on global uniqueness, breaks silently under per-namespace allocation — two known callers in `cascade_cols_test.rs:80` + `cognitive-shader-driver/src/driver.rs:312`). Tracked in TECH_DEBT.
65+
66+
**Docs:**
67+
- `.claude/plans/sprint-5-through-9-roadmap-v1.md` (the 60-worker + 10-meta map).
68+
- `.claude/board/sprint-log-4/` (full sprint corpus).
69+
- `.claude/specs/` (12 PR-scoped specs for sprint-5 deliverables).
70+
- `EPIPHANIES.md` 2026-05-13 entries (sprint-4 duplication-audit, 14+ FINDING/CORRECTION/CONJECTURE entries on OGIT axes, super-domain subcrates, API drift, FMA convergence).
71+
72+
**Correction (2026-05-13):** Sprint-4 specs partially duplicated existing `.claude/plans/` content despite the advisory read-order — see EPIPHANIES 2026-05-13 duplication-audit. Sprint-5+ enforces the read-order as a hard precondition in the worker-prompt template.
73+
74+
---
75+
3876
## #354 — gov: #353 post-merge + adjacent-landings (#109, OGIT#2, woa-rs#2) (merged 2026-05-07)
3977

4078
**Confidence (2026-05-07):** governance-only PR, no plan / knowledge / code changes. Append-only board hygiene confirmed working — merged cleanly, no past entries edited. **Status:** Merged to `main` as `a6797ad`.

0 commit comments

Comments
 (0)