core/docs/audit
Shay 05ae8cb1b4 feat(ring2-ring3): multi-port residual protocol + integrity-coordinated handoff
Rings 2 and 3 of the ADR-0246 preflight §9, built exactly as the brief bounds
them. ADR-0247 + ADR-0248 both **Proposed** — no self-Accept.

Ring 2 (core/ports/residual_protocol.py — ADR-0247):
  the 7-stage shared control grammar: witness -> typed residual decomposition
  -> permitted operator selection -> bounded operation or abstention ->
  re-certification -> action decision -> append-only replay record.
  Port-agnostic (no registry, no unified scheduler — §7 non-goal #2 honored);
  v1 operators are ZERO-BOUND only (nonzero fails closed — no-silent-correction
  doctrine); unaccounted residual fails closed; re-certification RAISES on
  witness drift during a zero-bound pass; replay chain is append-only,
  full-SHA-256 content-addressed, tamper-evident (verify_replay_chain).
  NOTE: named core/ports/ because core/protocol/ is the existing CTP v0 wire
  format (collision checked before naming).

Ring 2 adapters (core/ports/adapters.py): IdentityPort (ADR-0246 grade-1
  geometry; typed channels travel IN the witness so decompose is a pure
  re-shaping, no hidden state; admit = evaluate_admission, single source of
  truth) + PrecisionPort (ADR-0244 §2.5 cast transport; ServingState subjects)
  — two genuinely non-identical native geometries + a synthetic third port
  proving grammar agnosticism.

Ring 3 (core/ports/integrity_handoff.py — ADR-0248):
  the coordination seam ('Integrity coordinates handoffs; it does not replace
  content-bearing cognition'): fuses Ring-2 port decisions + existing
  EpistemicState/NormativeClearance into content-free proceed/hedge/abstain
  (conjunctive, strongest-restriction-wins; fail-closed on missing/invalid
  evidence; binds replay-chain tip digest; handoff itself content-addressed).
  Weak epistemic standing hedges (mirrors hedge doctrine) — only integrity
  violations silence a turn. OBSERVE-ONLY: no serve consumer yet; that is a
  future flag-gated unit. Remaining Ring-3 programme honestly listed open
  (world-model, governed-learning consumption, discourse widening).

Both pure/deterministic/off-serving (A-04 pinned); brief §0a/§9 updated.

[Verification]: uv run core test --suite smoke -q => 176 passed; Ring 2/3 +
ADR-0246 suites + D4 gate surfaces => 125 passed (28 new Ring-2/3 pins);
run log docs/audit/artifacts/ring2-ring3-runlog.txt
2026-07-17 23:56:01 -07:00
..
artifacts feat(ring2-ring3): multi-port residual protocol + integrity-coordinated handoff 2026-07-17 23:56:01 -07:00
ADR-0180-t1-t4-findings.md test(adr-0180): T-1..T-4 Delta-CRDT pre-refactor obligations (Python, green) (#463) 2026-05-29 10:40:52 -07:00
adr-0241-0242-acceptance-packet-2026-07-15.md docs(governance): RATIFY — ADR-0241 and ADR-0242 → Accepted (Joshua Shay, 2026-07-15) 2026-07-15 15:25:47 -07:00
adr-0243-acceptance-packet-2026-07-17.md docs: ADR-0243 Status: Proposed -> Accepted — ratified by Joshua Shay 2026-07-17 2026-07-17 13:23:12 -07:00
adr-0244-acceptance-packet-2026-07-17.md docs(adr-0244-d4): RATIFIED — ADR-0244 + ADR-0245 Proposed→Accepted (Joshua Shay) 2026-07-17 20:28:18 -07:00
adr-0245-acceptance-packet-2026-07-17.md docs(adr-0244-d4): RATIFIED — ADR-0244 + ADR-0245 Proposed→Accepted (Joshua Shay) 2026-07-17 20:28:18 -07:00
adr-0246-acceptance-packet-2026-07-17.md feat(adr-0246): completion — §4.1 records, path serve integration, §11 feasibility (honest NULL), ADR body Proposed 2026-07-17 23:36:41 -07:00
adr-0246-slice0-mismatch-diagnostic-2026-07-17.md feat(adr-0246): slice 0 — benign nominal-frame mismatch diagnostic (evidence-only) 2026-07-17 21:00:11 -07:00
adr-0246-slice1-opus-audit-and-hardening.md feat(adr-0246): Opus audit + §3.7 admit surface + serve wiring + §6.3 discrimination 2026-07-17 22:51:46 -07:00
adr_0241_cohesion_acceptance_checklist.md docs(governance): RATIFY — ADR-0241 and ADR-0242 → Accepted (Joshua Shay, 2026-07-15) 2026-07-15 15:25:47 -07:00
claims_ledger.md chore: Refactor CLI and Governance Anchors (#926) 2026-07-03 12:34:56 -07:00
L10-L11-lookback-2026-06-05.md audit(l10-l11): lookback review lived spine 2026-06-05 15:52:40 -07:00
substrate-liveness-ratchet.md Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
substrate-liveness-registry.md Lane 4: Registry Consolidation (language_packs to packs) 2026-07-04 15:11:28 -07:00
W-015-investigation.md audit(W-015): investigate session/context.py unitize root cause (#252) 2026-05-24 19:41:41 -07:00