docs(adr-0244-d4): Phase 6 — D10 acceptance packets for both ADRs (ruling PENDING)

Two D10-pattern acceptance packets submitted for Joshua's ruling:
- docs/audit/adr-0244-acceptance-packet-2026-07-17.md
- docs/audit/adr-0245-acceptance-packet-2026-07-17.md

Each is an evidence dossier (§1 claim→built→evidence→verdict table, §2 deviations,
§3 deferred, §4 gate results, §5 requested action). §8 RULING RECORD is PENDING and
both ADR status lines remain **Proposed** — the anti-self-Accept guard forbids me
flipping status without explicit ratification, so I have NOT.

The ADR-0244 packet §5 foregrounds the one caveat shaping the ruling: the identity
wave-gate is BUILT + VALIDATED but NOT live (identity_wave_gate=False; Phase-3
live-non-separation, best balanced error 0.346) — validated scaffolding pending
ADR-0246, not a live gate. The ADR-0245 §3 gate is complete (parity, f32 467×
speedup, 0-LAPACK, collision-resistance).

Plan doc Phase 6 → PACKETS DELIVERED, awaiting ratification. All build phases
(0-5) complete; the only remaining step is the human ratification gate.

[Verification]: Phase 5 gate green — smoke 176; fast lane 12032 passed / 25
skipped (core_rs built → Rust-parity + f32-speedup ran live). Docs-only commit;
both ADRs Proposed (provenance guard unaffected).
This commit is contained in:
Shay 2026-07-17 20:14:57 -07:00
parent 8ef80daa04
commit d459cfaf7c
3 changed files with 121 additions and 4 deletions

View file

@ -0,0 +1,66 @@
# ADR-0244 — D4 Acceptance Packet for Joshua
**Arc:** ADR-0244 Wave-Field Identity Manifold & Inalienable Geometric Alignment (D4 Phases 06), built on the ADR-0243 lifecycle + the ADR-0245 mechanical-sympathy foundation.
**Evidence base:** `feat/adr-0244-d4 @ 8ef80daa` (Phases 05 pushed direct-to-`main` per your sole-worker authorization; Phase 6 = this packet + the ADR-0245 packet).
**Status of ADR-0244:** **Proposed — submitted for your ruling.** The `Proposed → Accepted` flip is a **separate one-line governance commit** carrying your ratification provenance inline (anti-self-Accept guard, `tests/test_adr_0241_governance_p12.py::test_adrs_accepted_with_recorded_ruling_provenance`). **I have NOT flipped it** — §8 is PENDING. See §5 for the one caveat that shapes the ruling.
---
## 1. Evidence summary (what is proven, and how)
| ADR § | Claim | Built as | Evidence | Verdict |
|-------|-------|----------|----------|---------|
| §2.1 | Identity is a fixed geometric subspace; trajectories are checked against it | `core/physics/identity_manifold.py`**operator-preservation** primitive (`lift_axis`, `gram_matrix`+`ManifoldConditioningError`, `subspace_project`, `sandwich`, `axis_response`) | `test_adr_0244_identity_manifold.py` (25): G=I on the orthonormal pack; idempotent projection; identity versor → 0 leakage/+1 align; e14/e15 tilt → leakage; π-invert → 1 align; near-parallel axes → conditioning error | **Supported, core mechanism corrected (D-1)** |
| §2.2 | Fail-closed spectral-leakage gate + `C_id` + `IdentityGateRefusal`; `boundary_ids` active | dual-mode `IdentityCheck.check(..., wave_field=, violated_boundary_ids=)`, `_validate_wave_field`, admit-or-abstain `conjugate_correct`, wave telemetry; flag-gated wiring in `chat/runtime.py` | `test_adr_0244_identity_gate_wave.py` (16) + `_runtime.py` (3) + `_eval.py` (6): fail-closed on malformed ψ; boundary intersection; flag-off byte-identity; ablation separates geometric attacks 6-vs-0 over legacy | **Built + validated; NOT live (D-2, see §5)** |
| §2.3 | `Q_top` topological-charge conservation at egress | Proven **vacuous** on the versor manifold; retired from egress | `evals/adr_0244_qtop_vacuity` + `test_adr_0244_qtop_vacuity.py`: `Q_top ≡ 0` on every rotor/boost; aligned + adversarial both read 0 | **Retired (D-3), kept as diagnostic** |
| §2.4 | Bracketed-local Fibonacci search calibrates `γ_id` | `evals/adr_0244_gamma_calibration/` — certified `γ* = 0.2126624458513829` (cert `0079b5f2…`), pinned `identity._WAVE_LEAKAGE_BOUND` | `test_adr_0244_gamma_calibration.py` (9): certificate reproducible/deterministic; separates the geometric attack set | **Machinery supported; live flip NOT authorized (D-2)** |
| §2.5 | Governed f64→f32 serving-boundary cast | `serving_cast(...) → ServingState` in `cognitive_lifecycle.py` | `test_adr_0244_serving_cast.py` (10): casts only certified/admitted/digest-matched; precision-checked; f64 stays source of truth | **Supported** |
| §2.6 | Rust GP fast-path + parity | f32 (pre-existing) + f64 (D2) kernels, bit-identical | `test_geometric_product_f64_parity.py` (N=10,000) + f32 parity | **Supported** |
| §2.7 | Full digests / no `default=str` / byte-order guard | D1 hot path + Phase 5a: 4 residual content-ids widened | `schema`/`plan_preflight`/`articulation_quality`/`holographic_vault` full-digest + LE; collision proof in `test_adr_0245_acceptance_gate.py` | **Supported** |
| §2.8 | `eigh` memoization | `_cached_eigh` (D2) | `test_adr_0244_mechanical_sympathy.py` | **Supported** |
| §2.9 | Low-discrepancy mode allocator / order-independence | **Proven** (not wired): recall = Gram lstsq onto span → permutation-invariant to ~1e-15; allocator ordinal-reconstructible | `test_adr_0244_mode_order_independence.py` (3) | **Supported, restated (D-4)** |
| §2.10 | Quasi-periodic Fibonacci-word scheduler reduces phase-locking | audit-confirm the load-bearing claim | `test_adr_0244_scheduler_quasiperiodicity.py` (32): golden-ratio density, no `BB`/`AAA`, aperiodicity | **Supported** |
---
## 2. Deviations submitted for ruling (implementation vs. ADR prose)
- **D-1 — operator-preservation reframe (the core-mechanism correction; ratified 2026-07-17).** §2.1/§2.2's literal "project ψ_traj onto the grade-1 value subspace" is **vacuous** on the real runtime object: `final_state.F` is a **versor (even-grade operator, grades 0/2/4, zero grade-1)**, so `P_id(F) = 0` identically — it would flag every trajectory. Resolution: measure whether the versor *preserves* the value subspace via its action on the axes `F aᵢ F̃` — subspace leakage (tilt toward e4/e5) + signed self-alignment (in-subspace inversion). Both verified necessary and non-redundant. Governance annotation item 12 + §4a. **You ratified this reframe on 2026-07-17.**
- **D-2 — the identity gate is validated scaffolding, NOT a live gate (the honest headline).** See §5. `identity_wave_gate` stays **OFF**.
- **D-3 — `Q_top` dropped from the egress condition.** Proven vacuous (central `I₅` in odd Cl(4,1); the #19 pseudoscalar failure mode). Egress is leakage-based; `Q_top` kept only as a diagnostic. The §2.3 conservation claim is scoped to versors.
- **D-4 — §2.9 proven, not wired.** Recall is already insertion-order-independent by construction (Gram projection onto a span). Wiring the allocator into the durable content-seal path would be a category mismatch (that path seals content ψ, not packing positions), so the honest deliverable is the proof.
---
## 3. Deferred items (explicitly NOT completion blockers, but scoped)
- **The LIVE identity gate → ADR-0246.** Flipping `identity_wave_gate` on is deferred because the current engine gives the identity subspace no dynamical anchoring (§5). The induced-identity-action programme (ADR-0246 preflight brief, already merged) is where identity becomes dynamically load-bearing so the gate separates live traffic.
- **Real identity eigenmodes.** The shipped value axes (`truthfulness=e1`, `coherence=e2`, `reverence=e3`) are nominal basis vectors, not eigenmodes fit from an identity-preserving-vs-violating trace corpus. Fitting them is future work (a data/encoder concern, not a D4 mechanism gap).
- **Bounded corrective `C_id` displacement.** v1 is admit-or-abstain (zero displacement — the conservative bound). A bounded geometric corrective step is a future enhancement.
---
## 4. Gate results (this arc)
- Phase 0 (`ad37d03b`+`459280e3`): smoke 176 + provenance/ADR pins 30.
- Phase 1 (`3c3d2c29`): 25 new + smoke 176 + fast lane 11863/109.
- Phase 2 (`1c7ea26e`+`c7e2b3b6`+`c0ff4720`): 74 targeted + smoke 176 + fast lane 11889/109; flag-off byte-identity confirmed.
- Phase 3 (`f3702ad4`): 9 new + smoke 176 + fast lane 11897/109.
- Phase 4 (`918aa843`): 10 new + smoke 176 + fast lane 11907/109.
- Phase 5 (`5c69b741`+`4a550c1d`+`eacea087`+`b31d6fde`+docs): 43 targeted + smoke 176 + fast lane **12032 passed, 25 skipped** (with a local `core_rs` build, the ~126 Rust-parity + f32-speedup tests ran live, all green).
---
## 5. Requested action — and the one caveat that shapes it
**Rule on the ADR-0244 arc.** Every §-mechanism is built, proven, or audited (§1). The arc is honest and complete **as scaffolding**. There is exactly one thing you must weigh:
> **The identity wave-gate is BUILT and VALIDATED but is NOT wired live** (`identity_wave_gate = False`), and D4 does **not** flip it on. Phase 3 measured the reason directly: real benign turns do **not** preserve `span(e1,e2,e3)` — their leakage spans 0.140.81, self-alignment swings negative, and the best achievable balanced error separating benign from attacks is **0.346**. Flipping the flag would mass-refuse benign traffic. Root cause: the pack value axes are *nominal basis vectors, not dynamically-preserved eigenmodes* — the field evolution gives identity no dynamical anchoring. Making identity dynamically load-bearing is the **ADR-0246** programme.
So the ruling is on the ADR **as a specification and a validated mechanism**, with the explicit, recorded understanding that the live gate awaits ADR-0246. If you rule **Ratify**, the follow-up one-line governance commit flips `**Status**: Proposed → **Accepted** — ratified by Joshua Shay <date>` and records the ruling in §8. The four deviations (D-1…D-4) and the "validated-but-off" scope are submitted for acceptance as recommended. **I have not flipped the status; it awaits your explicit word.**
---
## 8. RULING RECORD
**PENDING — awaiting Joshua Shay's ruling.** No status flip has been made; ADR-0244 remains **Proposed**.

View file

@ -0,0 +1,51 @@
# ADR-0245 — D4 Acceptance Packet for Joshua
**Arc:** ADR-0245 CGA Unification: Mechanical Sympathy & Semantic Rigor — the foundation ADR-0244's identity gate sits on. Committed as a real companion ADR in D4 Phase 0; its D4 scope (§2.2 cast, §2.3 residual, §3 gate) closed across Phases 45.
**Evidence base:** `feat/adr-0244-d4 @ 8ef80daa` (Phases 05 on `main`).
**Status of ADR-0245:** **Proposed — submitted for your ruling.** The `Proposed → Accepted` flip is a **separate one-line governance commit** with your ratification provenance inline (anti-self-Accept guard). **I have NOT flipped it** — §8 is PENDING.
---
## 1. Evidence summary (what is proven, and how)
| ADR § | Claim | Built as | Evidence | Verdict |
|-------|-------|----------|----------|---------|
| §2.1 | PyO3 Rust `geometric_product` f32 fast-path | `algebra/backend.py` (pre-existing), gated behind `CORE_BACKEND=rust` | f32 parity + dispatch-hygiene tests | **Supported** |
| §2.2 | Gated f64→f32 serving boundary | `serving_cast(...) → ServingState` (== ADR-0244 §2.5) | `test_adr_0244_serving_cast.py` (10): certified/admitted-only, precision-checked, f64 stays source of truth | **Supported** |
| §2.3 | Semantic rigor in content addressing | D1 hot path + Phase 5a: 4 residual content-ids → full 256-bit, no `default=str`, LE byte-order | `schema`/`plan_preflight`/`articulation_quality`/`holographic_vault`; collision proof below | **Supported** |
| §2.4 | `_cached_eigh` memoization (LAPACK once per content-addressed H) | `cognitive_lifecycle._cached_eigh` (D2) | `test_adr_0244_mechanical_sympathy.py`: cache hit → identical objects, no fresh `eigh` | **Supported** |
| §3 | Acceptance gate: parity ∧ ≥10× f32 speedup ∧ 0-LAPACK-on-repeat ∧ collision-resistance | `test_adr_0245_acceptance_gate.py` + parity/mechanical-sympathy suites | see §2 below | **All four legs green** |
---
## 2. §3 acceptance gate — the four legs
1. **Parity** — Rust GP bit-identical to Python: f64 N=10,000 (`test_geometric_product_f64_parity.py`) + f32 component-exact (`test_geometric_product_rust_parity.py`). ✅
2. **≥10× f32 speedup** — `test_adr_0245_acceptance_gate.py::test_rust_f32_geometric_product_is_at_least_10x`, Rust-guarded (skips with a reason where `core_rs` is unbuilt), with a parity sanity check so the speedup can't come from skipped work. **Measured on Apple M-series this arc: rust 2.86 µs/op vs python 1340 µs/op = 467×** (assertion is a conservative ≥10× for CI timing robustness). ✅
3. **0 LAPACK on repeat**`test_adr_0244_mechanical_sympathy.py` (`_cached_eigh` cache hit returns identical `(evals, evecs)`). ✅
4. **Collision-resistance**`_content_id` full 256-bit, type/structure-faithful (int≠str, bool≠int, nested-sensitive, key-order-invariant), fails closed on non-serializable input (no `default=str` collapse); `_psi_digest` sub-epsilon sensitive + deterministic. A coverage-manifest test maps all four legs to their home files. ✅
---
## 3. Deferred items (NOT completion blockers)
- Rust §5 SIMD / MLX / 64-byte-alignment acceleration — a separate optimization backlog, not this ADR's D4 scope.
- The f32 speedup is **measured where `core_rs` is built**; the committed test skips (visibly, with a reason) on runners without the Rust extension. The default backend remains pure-Python (`CORE_BACKEND` unset), so no serve-path behavior depends on the Rust build.
---
## 4. Gate results
Landed across D4 Phases 0 (commit), 4 (§2.2), 5a (§2.3), 5d (§3). Phase 5 gate: smoke **176**; fast lane **12032 passed, 25 skipped** (with a local `core_rs` build, the ~126 Rust-parity + f32-speedup tests ran live, all green); 43 Phase-5 targeted tests.
---
## 5. Requested action
**Rule on the ADR-0245 arc.** All four §3 legs are green and the two D4 build items (§2.2 cast, §2.3 residual) are complete. If you rule **Ratify**, the follow-up one-line governance commit flips `**Status**: Proposed → **Accepted** — ratified by Joshua Shay <date>` and records the ruling in §8. **I have not flipped the status; it awaits your explicit word.**
---
## 8. RULING RECORD
**PENDING — awaiting Joshua Shay's ruling.** No status flip has been made; ADR-0245 remains **Proposed**.

View file

@ -187,8 +187,8 @@ Dependencies: `0 → {1, 4}` · `1 → 2 → 3` · `5 after 0` · `6 last`. Each
**Steps:** D10-pattern acceptance packets for **both** ADRs; **user-ratified** Proposed→Accepted flips (provenance guard: inline `**Accepted** — ratified by Joshua Shay <date>` + packet `## 8. RULING RECORD`); update memory; delete worktree + branch (merge-then-cleanup).
**Acceptance:** both packets complete; provenance-guard green; status flips only on explicit user ratification; worktree/branch swept.
**Gate:** smoke + provenance/ADR pins.
**Status:** ⬜ NOT STARTED
**Resume notes:** —
**Status:** ◐ PACKETS DELIVERED — **awaiting Joshua's ratification** for the two Proposed→Accepted flips (the one step I cannot self-authorize).
**Resume notes:** Both D10 acceptance packets written and pushed: `docs/audit/adr-0244-acceptance-packet-2026-07-17.md` + `docs/audit/adr-0245-acceptance-packet-2026-07-17.md` evidence dossiers, §8 RULING RECORD **PENDING**, both ADR status lines still **Proposed** (anti-self-Accept guard `test_adr_0241_governance_p12` stays green). The ADR-0244 packet §5 foregrounds the one caveat shaping the ruling: **the identity wave-gate is BUILT + VALIDATED but NOT live** (`identity_wave_gate=False`; Phase-3 live-non-separation, best balanced error 0.346) — validated scaffolding pending ADR-0246. **Remaining (human-gated):** on Joshua's explicit "ratify", make ONE governance commit flipping both `**Status**: Proposed → **Accepted** — ratified by Joshua Shay <date>`, fill both §8 RULING RECORDs, then final cleanup (delete `feat/adr-0244-d4` branch + this worktree — merge-then-cleanup). Until then the arc is **build-complete, ratification-pending**.
---
@ -250,8 +250,8 @@ Forward-looking mechanical-sympathy items from the critique — a separate optim
| 3 | §2.4 γ_id calibration (certified; **live flip BLOCKED — flag stays OFF**) | ✅ DONE | `f3702ad4` |
| 4 | §2.5 / 0245 §2.2 serving-boundary cast | ✅ DONE | `918aa843` |
| 5 | §2.7 residual + §2.9 wiring + §2.10 audit + 0245 §3 gate | ✅ DONE | `5c69b741`+`4a550c1d`+`eacea087`+`b31d6fde` |
| 6 | Close-out (2 acceptance packets + 2 ratified flips) | ⬜ NOT STARTED | — |
| 6 | Close-out (2 acceptance packets + 2 ratified flips) | ◐ PACKETS DELIVERED — awaiting Joshua's ratification | packets pushed |
**▶ NEXT: Phase 6 — Close-out.** Two D10-pattern acceptance packets (`docs/audit/adr-0244-acceptance-packet-*.md`, `docs/audit/adr-0245-acceptance-packet-*.md`) + **user-ratified** Proposed→Accepted status flips for both ADRs (provenance guard: inline `**Accepted** — ratified by Joshua Shay <date>` + packet `## 8. RULING RECORD`; the anti-self-Accept test forbids me flipping status without explicit ratification) + memory + worktree/branch cleanup. **All build phases (05) are complete;** ADR-0244 §2.12.10 and ADR-0245 §2.12.4 + §3 are built/proven/audited. The one standing caveat carried into Phase 6 and the packets: **`identity_wave_gate` stays OFF** (Phase 3 live-non-separation finding) — the identity gate is validated scaffolding, not a live gate, pending ADR-0246.
**▶ NEXT: Joshua's ratification ruling.** All build phases (05) are complete — ADR-0244 §2.12.10 and ADR-0245 §2.12.4 + §3 are built/proven/audited, every gate green. Both D10 acceptance packets are delivered (`docs/audit/adr-024{4,5}-acceptance-packet-2026-07-17.md`, §8 PENDING). **The only remaining step is the human ratification gate** — I cannot self-authorize the Proposed→Accepted flips (anti-self-Accept guard). On Joshua's explicit "ratify", one governance commit flips both statuses with inline `— ratified by Joshua Shay <date>` provenance + fills the §8 RULING RECORDs, then the worktree/branch are swept. **Standing caveat in both packets:** `identity_wave_gate` stays OFF (Phase-3 live-non-separation) — the identity gate is validated scaffolding, not a live gate, pending ADR-0246.
**Phase 3 headline for resumers:** the γ_id calibration machinery is built + certified, but the empirical finding is that **the live serving flag cannot honestly be flipped on** — real benign traffic doesn't preserve the nominal identity subspace (best balanced error 0.346), so the gate would mass-refuse. `identity_wave_gate` stays OFF; the live gate awaits the ADR-0246 induced-action work. This is a **true architectural-gap discovery**, faithfully honoring the plan's conditional ("flip *once evidenced*"), not a deviation.