KB-5D8F

Macro — RS5B-CLOSEOUT-PATCH2 (LEGO #1 Assembly Readiness Seal) rollup — 2026-06-21

10 min read Revision 1
macro-rolluprs5b-closeout-patch2rbp-oraclei6-predicatec2-i5gate-b-wordinglego-readiness-sealregistration-hold2026-06-21

Macro — RS5B-CLOSEOUT-PATCH2 (LEGO #1 Assembly Readiness Seal) rollup — 2026-06-21

Opened after: Codex HOLD on RS5B-CLOSEOUT-PATCH1STATUS: HOLD, VERDICT: REJECT_ROLLBACK_VALIDITY_ORACLE_INCOMPLETE, stop RS5B_CLOSEOUT_PATCH1_HOLD_ORACLE_PRECEDENCE_I6_AND_GATE_WORDING_REQUIRED. PATCH1 structural fixes accepted; the rollback-validity oracle was not yet deterministic (blockers B1–B9). Verdict: RS5B_CLOSEOUT_PATCH2_LEGO1_READY_FOR_GPT_REVIEW (not forced) Gate: REGISTRATION_HOLD · REGISTRATION_CAN_PROCEED = NO · 0 mutations (KB-only, design-only, no live runtime read) PASS level: narrow Job-B oracle/predicate/XBI/C2-I5/gate-wording correction + LEGO #1 readiness seal, design-review-ready only — not authority / runtime / implementation / registration / activation PASS; not P2 authorization; not rollback-execution authorization. Readiness-for-plan ≠ readiness-to-write. Class: additive narrow patch. Does not reopen Job A; does not weaken I1–I10.


1. Scope (narrow — only what Codex required)

Close the nine blockers B1–B9 and add the LEGO #1 Assembly Readiness seal. Guiding principle: do not prove "I wrote the oracle" — prove "no invalid input can reach PASS." No P2 opened. No runtime. No rollback executed. Job A untouched. I1–I10 not weakened.

2. Codex blocker closure map (B1–B9 → closed)

  • B1 PASS formula omits ¬RBP1 → complete PASS ¬RBP0 ∧ ¬RBP1 ∧ … ∧ ¬RBP10 = "no reject predicate matches" (file 02 §2; proof P-B1). CLOSED.
  • B2 I6 has no reject predicate → explicit RBP-8 ROLLBACK_FORWARD_FAIL_CLOSED_VIOLATED, disjoint from RBP-7 by predicate Q (file 02 §3; XBI-26). CLOSED.
  • B3 XBI-13 contradicts precedence → RBP-2/3/4 disjoint by "what survives"; XBI-13A (identity deleted → RBP-2) / XBI-13B (payload erased → RBP-4) (file 03 §2/§4; file 04 §1). CLOSED.
  • B4 XBI-14 multi-outcome → XBI-14A (cannot resolve → RBP-3) / XBI-14B (resolves, re-meant → RBP-5) (file 04 §2). CLOSED.
  • B5 XBI-19 multi-outcome → XBI-19A (silent rewrite, meaning preserved → RBP-10) / XBI-19B (silent rewrite + meaning changed → RBP-5) (file 04 §3). CLOSED.
  • B6 missing successor-but-not-fail-closed fixture → XBI-26 → RBP-8 (file 04 §4). CLOSED.
  • B7 missing C2-authority-weakening fixture → XBI-27 + 27-a/b/c → RBP-6 (file 04 §5; file 05). CLOSED.
  • B8 I5 not covering C2 → I5 covers C2 forward schema evolution; coverage matrix C2=✔; eight forbidden weakenings (file 05). CLOSED.
  • B9 Gate B wording contradiction → sealed five-part wording; satisfied Gate B opens named lane only; "Neither gate opens P2" forbidden (file 06). CLOSED.

3. Complete RBP oracle (file 02)

Closed reject set (11 reject + PASS): RBP-0 RUNTIME_MUTATION_REJECTED · RBP-1 ROLLBACK_PLAN_ABSENT · RBP-2 …DELETES_REFERENCED_IDENTITY · RBP-3 …ORPHANS_DEPENDENCY · RBP-4 …ERASES_HISTORY · RBP-5 …CHANGES_HISTORICAL_SEMANTICS · RBP-6 …WEAKENS_AUTHORITY (prior+forward) · RBP-7 …SUCCESSOR_RULE_ABSENT · RBP-8 …FORWARD_FAIL_CLOSED_VIOLATED (NEW, =I6) · RBP-9 …AUDIT_TRAIL_ABSENT · RBP-10 …NOT_LOCAL · RBP-PASS ROLLBACK_CONTRACT_VALID_FOR_REVIEW. PASS ⇔ ¬RBP0 ∧ ¬RBP1 ∧ ¬RBP2 ∧ ¬RBP3 ∧ ¬RBP4 ∧ ¬RBP5 ∧ ¬RBP6 ∧ ¬RBP7 ∧ ¬RBP8 ∧ ¬RBP9 ∧ ¬RBP10. 1:1 invariant↔predicate map (I6↔RBP-8 now explicit). Proofs P-B1 (plan absent ⇒ no PASS), P-B2 (successor-but-not-fail-closed ⇒ no PASS), P-destructive.

4. Predicate disjointness + precedence (file 03)

Total order rank 1→12: RUNTIME_MUTATION_REJECTED < DELETES_REFERENCED_IDENTITY < ORPHANS_DEPENDENCY < ERASES_HISTORY < CHANGES_HISTORICAL_SEMANTICS < WEAKENS_AUTHORITY < SUCCESSOR_RULE_ABSENT < FORWARD_FAIL_CLOSED_VIOLATED < AUDIT_TRAIL_ABSENT < NOT_LOCAL < PLAN_ABSENT < CONTRACT_VALID_FOR_REVIEW. RBP-2/3/4 partitioned by identity resolves? / edge resolves? / payload reads?; RBP-7 vs RBP-8 by Q (successor present); RBP-6 covers prior+forward authority weakening. Numeric label ≠ precedence rank (RBP-1 index 1, rank 11); PASS is precedence-independent. The B3 input (hash deletion) classifies RBP-2, not RBP-4.

5. Single-input/single-code XBI (file 04)

XBI-13/14/19 split into 13A/13B, 14A/14B, 19A/19B; XBI-26 (successor exists but retired value admissible → RBP-8), XBI-27 + 27-a/b/c (C2 successor weakens forward authority → RBP-6). PATCH1 XBI-11/12/15/16/17/18/20–25 retained; audit fixture renumbered 8→9. Every fixture one input / one code / one invariant / fail-closed; classifier totality (12-code closed set) is classifier-scoped, not runtime-totality.

6. C2-I5 forward coverage (file 05)

I5 covers C2 because C2 defines which authority refs are required in authorization_binding_digest. A successor C2 schema MUST NOT drop canonical_owner_scope/canonical_owner_head_ref/canonical_authority_policy_ref/founding_authority_ref, make approval_mode optional, omit approval/quorum/principal refs under APPROVAL_USED, omit nonce/window where replay control is required, or make any required authority field optional without a separately governed authority-policy transition. Violation ⇒ ROLLBACK_WEAKENS_AUTHORITY (RBP-6). Coverage matrix I5 row: C2=✔ (C1/C4/C5 transitive discharge unaffected; C3/C6/C7 unchanged).

7. Sealed Gate B wording (file 06)

Five-part seal: (1) this PATCH2 package does not open P2; (2) Gate A does not open P2 (permits only preparing a plan); (3) a future satisfied Gate B may authorize opening the named P2 design/build lane only; (4) Gate B does not authorize registration/activation/real register_dot/P3/rollback execution/ungated runtime write; (5) the bare sentence "Neither gate opens P2" is forbidden (contradicts (3)). Gate inputs/outputs and the no-"Gate A → P2 open" transition retained.

8. LEGO #1 Assembly Readiness seal (file 07)

Definition: Gate A baseline accepted enough to prepare a carrier-specific Gate B plan for the first named LEGO carrier — NOT P2 open / runtime write / carrier created / rollback executed / registration / activation / real register_dot / Chairman authorization exists. Checklist L1 identity · L2 edge · L3 rollback · L4 test · L5 gate · L6 authority · L7 non-overclaim, each with proof source + attack + expected rejection + status; all READY ⇒ LEGO1_ASSEMBLY_READY_FOR_GATE_A_BASELINE (necessary-not-sufficient, authorizes nothing). No carrier named/created.

9. Impact map (file 08) + adversarial self-review (file 09)

M11 PASS formula, M12 reject-set numbering/I6, M13 XBI-13, M14 XBI-14/19, M15 missing fixtures (extended), M16 I5×C2, M17 "Neither gate opens P2", M18 PATCH1-08 A3 result — all SUPERSEDED/EXTENDED_BY_RS5B_CLOSEOUT_PATCH2. §6 NOT-reopened: Job A, I1–I10, carrier patterns C1–C7, graph E1–E8, C7 approval_mode rule, gate logic, XBI-11/12/15–18/20–25, LEGO rule, carried blockers. Self-review A1–A20 all rejected before any PASS, each single-coded (CLOSEOUT_PATCH2_ADVERSARIAL_SELF_CHECK_PASSED_NO_FAIL_OPEN).

10. Files (12 in package + this rollup)

reports/rs5b-closeout-patch2/: index, 01 source-register+codex-hold-reconstruction, 02 complete-rbp-oracle+i6-predicate, 03 rbp-disjointness+precedence, 04 single-input-single-code-xbi+new-fixtures, 05 c2-schema-evolution-authority-non-weakening, 06 gate-b-wording-clarification, 07 lego-1-assembly-readiness-definition+checklist, 08 impact-map, 09 adversarial-self-review, 10 decision-packet, codex-review-packet. Plus reports/macro-rs5b-closeout-patch2-lego-readiness-seal-2026-06-21.md (this rollup). All revision 1 at creation per AgentData metadata (never a stale "all revision 1" body sentence — caveat C1 discipline).

11. Carried blockers (UNCHANGED) + next step

G2–G7 + STATUS_DOMAIN_NOT_DB_ENFORCED + U3_PARTIAL_UNIQUE_SURFACE_ABSENT + OWNER_MINT_PATH_FAIL_CLOSED + QUORUM_EFFECT_BINDING_INSUFFICIENT + QUORUM_APPROVER_IDENTITY_UNVERIFIED + BOOTSTRAP_AUTHORITY_UNRESOLVED + CANONICAL_PRINCIPAL_SURFACE_REQUIRED_NOT_PRESENT. No new blocker, no new runtime reject code (ROLLBACK_FORWARD_FAIL_CLOSED_VIOLATED is a classifier label, not a runtime blocker).

Single next step: GPT/independent review of this PATCH2 only → on accept, Codex review → corrected Job-B wording carries into the closeout, which becomes the Gate A baseline certified LEGO #1 Assembly Ready → only after a later independent acceptance of a carrier-specific build plan at Gate B plus an exact-scoped Chairman authorization may a named P2 design/build lane open → a still-later separate gate decides P3 registration. No P2 / runtime / registration / rollback-execution authorized here. Residual ⇒ future RS5B-CLOSEOUT-PATCH3.

Default HOLD. Deletion ≠ rollback. Validity ≠ presence. Successor-present ≠ forward-fail-closed. Contract-validity ≠ execution authorization. Baseline ≠ P2-open. Satisfied Gate B ≠ registration. Review ≠ Chairman authorization. Readiness-for-plan ≠ readiness-to-write. One input → one code. Engineering/contract PASS ≠ authority/runtime PASS. Builds on / corrects [[project_laws_new_macro_rs5b_closeout_patch1_rollback_gate_split_2026_06_21]].