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
11 lines
498 B
Text
11 lines
498 B
Text
Ring 2 + Ring 3 — verification run log
|
|
branch: feat/ring2-residual-protocol (off main @ f49b391d)
|
|
|
|
=== pytest: Ring 2/3 + ADR-0246 suites + D4 gate surfaces ===
|
|
........................................................................ [ 57%]
|
|
..................................................... [100%]
|
|
125 passed in 8.70s
|
|
|
|
=== uv run core test --suite smoke -q ===
|
|
................................ [100%]
|
|
176 passed in 129.93s (0:02:09)
|