RS5A-PATCH2-01 — Codex PATCH1 HOLD Closure Map — 2026-06-21
RS5A-PATCH2-01 — Codex PATCH1 HOLD Closure Map — 2026-06-21
Macro: RS5A-PATCH2 · Deliverable: 01 of 6 (+index +rollup +codex-packet) · scoped semantic-closure correction.
Does NOT overwrite RS5A or RS5A-PATCH1. The original RS5A and PATCH1 files remain at revision 1 for audit. This patch authors corrected wording here (files 02–04) that supersedes only the three cited residual phrases.
Gate carried: REGISTRATION_HOLD · REGISTRATION_CAN_PROCEED = NO · 0 mutations.
1. Codex source
knowledge/dev/laws-new/reports/codex/codex-review-rs5a-patch1-prerequisite-sequencing-correction-2026-06-21.md (read full this macro, revision 1, truncated=false). STATUS HOLD; VERDICT NEED_RS5A_PATCH2; stop state RS5A_PATCH1_NEEDS_PATCH2 · SCOPE_DRIFT · GOV_COUNCIL_EDGE_INSUFFICIENT · TEST_ORACLE_INSUFFICIENT. Single scoped item (§10): semantic-closure precision — three corrections only. Codex §10 explicitly limits the patch to PATCH1-04, PATCH1-06, and their closure/rollup/index/decision/Codex summaries, and forbids reopening accepted identity, U3, handler, bootstrap, or prerequisite-graph semantics.
2. Residual closure table
| Codex residual | PATCH1 source phrase (superseded) | PATCH2 correction | status | caveat |
|---|---|---|---|---|
| R1-residual — scope taxonomy contradiction (Codex §3 R1 PARTIAL, §4, §11.1) | PATCH1-04 §4: "The taxonomy becomes 10 scopes (6 gate + [a three-member generic post-registration bucket labelled deferrable: activation + replay + audit] + this 1 approval-authority)." Reusing that generic bucket re-admits the exact unsafe reading R1 was opened to remove, because it lumps replay/audit (hard pre-runtime) with activation (legitimately post-registration). | PATCH2-02 deletes the prior taxonomy bucket entirely and re-classifies into 8 hard pre-runtime prerequisite scopes + 1 hard pre-runtime approval/quorum scope + 1 post-registration-capable activation scope. DOT_REPLAY_SURFACE and DOT_AUDIT_SINK are hard pre-runtime prerequisites; DOT_ACTIVATION_AUTHORITY is the only post-registration-capable scope. No bucket may contain replay or audit. See [[rs5a-patch2-02]]. |
CLOSED | replay/audit MUST exist+pass before real register_dot; only activation may follow inert registration |
| R3-residual — GOV-COUNCIL canonical principal identity (Codex §3 R3 PARTIAL, §6, §11.2, §6 carrier caveat) | PATCH1-04 §3: "each quorum approver must resolve to a governance_registry head (or a head-delegated identity)" + "ai_council votes must bind to GOV-COUNCIL". This is necessary but not sufficient: resolving to a generic head does not prove president-slot authority, and binding to GOV-COUNCIL does not establish distinct canonical voting principals (two aliases/delegations of one principal could still satisfy a two-vote count). Delegation validity/scope/window/revocation/uniqueness were not stated as quorum conditions. |
PATCH2-03 defines a canonical-principal-identity quorum contract: canonical_principal_id, canonical_role_slot (president / council_member), canonical_voting_body, principal_resolution_ref, delegation_ref/scope/effective_window/revocation. President resolves through authoritative policy/ref (not approver text); council resolves to distinct canonical principals; one principal counts at most once per APR; aliases/delegations cannot double-count; delegation must be active, scope-matched, unrevoked, time-valid; self-declared type and free-text "president" are invalid. See [[rs5a-patch2-03]]. |
CLOSED | design-only; CANONICAL_PRINCIPAL_SURFACE_REQUIRED_NOT_PRESENT; fail-closed until created/proven; scope not created |
| R5-residual — test oracle alias / count ambiguity (Codex §3 R5 PARTIAL, §8, §11.3, §11.4) | PATCH1-06 §1 parenthetical aliases (e.g. REGISTER_DOT_ACTION_CONTRACT_VIOLATION, SUCCESS_AUDIT_NOT_PART_OF_REGISTER_DOT_CONTRACT, ACTIVATION_SIDE_EFFECT_ON_INERT_WRITE) offered as alternative PASS codes; PATCH1-06 §3 "still 84 enumerated" while G02 was internally split into G02a/G02b/G02c. An executable oracle cannot accept either a primary code or an undocumented alias, and "84 enumerated" while three G02 subcases exist is ambiguous. |
PATCH2-04 fixes exactly one canonical expected outcome per executable scenario; aliases are documentation_alias_only and never accepted PASS outcomes; the count is declared 84 parent IDs / 86 executable scenarios (G02 → G02a/G02b/G02c). See [[rs5a-patch2-04]]. |
CLOSED | suite remains DEFINED_NOT_EXECUTED; no PASS result accepted |
3. Accepted-and-not-reopened (Codex §9)
Package completeness and additive non-overwriting storage; four-phase sequencing and eleven conjunctive runtime prerequisites; design-after-G2 vs exist-before-runtime distinction; bootstrap-unresolved state and RS5B-only next step; narrow proposed approval/quorum scope with no broad inheritance; replacement-handler identity and prohibition on unsafe-path reuse; corrected replay/idempotency behavior and primary reject-code semantics; explicit carrier dependency edges and preservation of REGISTRATION_HOLD; no accepted RS4A/PATCH2 identity semantics reopened. None reopened. RS5A bootstrap correction (PATCH1-03), handler replacement (PATCH1-05), and the P0→P3 prerequisite graph (PATCH1-02) are not reopened except the single taxonomy-wording line in PATCH1-04 §4.
4. Net
All three Codex residuals (taxonomy contradiction, canonical principal identity, oracle alias/count) are CLOSED at the contract layer, fail-closed, with no mutation. No residual STILL_OPEN_BY_DESIGN blocks review. ⇒ verdict candidate RS5A_PATCH2_READY_FOR_CODEX_REVIEW (see [[rs5a-patch2-05]]).