RS5A-PATCH3-01 — Codex PATCH2 HOLD Closure Map — 2026-06-21
RS5A-PATCH3-01 — Codex PATCH2 HOLD Closure Map — 2026-06-21
Macro: RS5A-PATCH3 · Deliverable: 01 of 6 (+index +rollup +codex-packet) · scoped deterministic-lifecycle / oracle-predicate correction.
Does NOT overwrite RS5A, RS5A-PATCH1, or RS5A-PATCH2. The original RS5A/PATCH1/PATCH2 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-patch2-semantic-closure-precision-2026-06-21.md (read full this macro, revision 1, truncated=false). STATUS HOLD; VERDICT NEED_RS5A_PATCH3; stop state RS5A_PATCH2_NEEDS_PATCH3 · SCOPE_TAXONOMY_STILL_AMBIGUOUS · GOV_COUNCIL_PRINCIPAL_IDENTITY_INSUFFICIENT · TEST_ORACLE_COUNT_AMBIGUOUS. Single scoped item (§8): deterministic lifecycle and oracle predicates — three corrections only. Codex §8 explicitly limits the patch to PATCH2-02, PATCH2-03, PATCH2-04 and their closure/rollup/index/decision/Codex summaries, and forbids reopening accepted owner, bootstrap, handler, identity, U3, or hard-prerequisite semantics.
2. Residual closure table
| Codex residual | PATCH2 source phrase (superseded) | PATCH3 correction | status | caveat |
|---|---|---|---|---|
| R1-lifecycle — availability vs persistence ambiguity (Codex §3 scope-taxonomy PARTIAL, §4, §9.1) | PATCH2-02 §4 column "may act/exist AFTER runtime registration?" marked no for all nine pre-runtime scopes. This conflates first-introduced-after (forbidden for replay/audit) with persists/operates-after (required for every prerequisite), making the no cell false for persistent replay/audit/hash/U3/status/authority/approval surfaces. |
PATCH3-02 replaces the single column with three orthogonal axes: A first-availability gate (before admission, unchanged), B post-admission persistence/operation (yes for every prerequisite — replay answers idempotent retry, audit retains failure records, etc.), C business-transition timing (only activation, draft → active, after inert registration). Canonical wording: pre-runtime surfaces must exist before admission AND remain available after admission; activation is the only post-registration business transition; replay/audit may never be first introduced after registration. See [[rs5a-patch3-02]]. |
CLOSED | pre-admission gate not weakened (Axis A unchanged); replay/audit stay hard pre-runtime; persistence ≠ first-introduced-after |
| R2-precedence — quorum reject-code precedence / delegation interval (Codex §3 GOV-COUNCIL PARTIAL, §5, §9.2) | PATCH2-03 §3/§4: nine reject codes with overlapping conditions and no precedence (free-text president vs PRESIDENT_ROLE_UNRESOLVED; self-declared council vs COUNCIL_PRINCIPAL_UNRESOLVED; alias vs canonical double-count). PATCH2-03 §2 delegation window [effective_from, effective_to] (closed) but §3 "strictly inside" — ambiguous boundary, no not-yet-effective code. |
PATCH3-03 defines a deterministic P0→P5 ladder (structural → spoof → delegation → resolution → double-count → count) with mutually-exclusive predicates: spoof codes precede generic unresolved; distinct-alias double-count precedes exact-identity double-count. Delegation window is the single half-open [effective_from, effective_to) with boundary outcomes; new code DELEGATION_NOT_YET_EFFECTIVE for the lower boundary; DELEGATION_EXPIRED for the upper; revocation overrides interval. See [[rs5a-patch3-03]]. |
CLOSED | design-only; surface CANONICAL_PRINCIPAL_SURFACE_REQUIRED_NOT_PRESENT; P0 fires today; fail-closed; new code declared in PATCH3 only, no PATCH2 file edited |
| R3-replay-exclusivity — G02a/G02c overlap & G08 fixture (Codex §3 oracle PARTIAL, §6, §9.3) | PATCH2-04 §2: G02a = "same effect + same nonce, already committed" omitted "same authorization envelope," so a same-effect/same-nonce/changed-envelope retry satisfied both G02a and G02c. | PATCH3-04 sharpens G02a to require same canonical authorization envelope/digest and defines a two-discriminator decision tree (effect → envelope) that partitions the "same nonce" space: different-effect (G02b) and different-envelope (G02c) are both checked before idempotent retrieval (G02a). G08 kept as a distinct executable scenario, distinguished from G02a by client-observation fixture (known-response retry vs unknown-response recovery), same canonical outcome. See [[rs5a-patch3-04]]. | CLOSED | count stays 84 parent IDs / 86 executable scenarios; suite DEFINED_NOT_EXECUTED; no PASS accepted |
3. Accepted-and-not-reopened (Codex §7)
- Complete, additive eight-file PATCH2 package.
- Replay and audit are hard pre-admission prerequisites (PATCH3 preserves and strengthens this; only the persistence wording is added).
- Activation is separated from the prerequisite-creation gate.
- Canonical principal, role-slot, body-membership, delegation, and revocation requirements.
- No free-text president, self-declared council identity, or alias double-counting.
- One canonical oracle outcome column; aliases are documentation-only.
- Correct 84-parent / 86-executable arithmetic (subject to distinct scenario fixtures — PATCH3-04 supplies the distinct G08 fixture).
- No runtime surface, scope, principal, APR, action, handler, or registration created.
- Bootstrap, handler, U1/U2/U3, and prerequisite-graph semantics not reopened.
None reopened. PATCH3 touches only the three cited lifecycle/oracle wordings in PATCH2-02 §4, PATCH2-03 §2/§3/§4, and PATCH2-04 §2 — additively, without editing any PATCH2 file.
4. Net
All three Codex residuals (lifecycle availability/persistence ambiguity, quorum reject-code precedence + delegation interval, G02/G08 mutual exclusivity) are CLOSED at the contract layer, fail-closed, with no mutation. No residual STILL_OPEN_BY_DESIGN blocks review. ⇒ verdict candidate RS5A_PATCH3_READY_FOR_CODEX_REVIEW (see [[rs5a-patch3-05]]).