KB-78F3

READY-TO-ASSEMBLE-LEGO1-PATCH2 11 — Internal Codex Negative Review (A1–A22) — 2026-06-22

5 min read Revision 1
ready-to-assemble-lego1-patch2b12internal-codex-negative-reviewa1-a22adversarialholdregistration-hold2026-06-22

READY-TO-ASSEMBLE-LEGO1-PATCH2 11 — Internal Codex Negative Review (A1–A22) — 2026-06-22

Posture: I review PATCH2 as Codex would — distrusting my own report, demanding actual registered artifacts + read-only definition evidence, rejecting raw SQL, prose-as-contract, and overclaim. I report READY only if every attack is defended by an existing, read-back-verifiable artifact or a genuinely authority/runtime-only residual. Gate: REGISTRATION_HOLD · CAN_PROCEED = NO · 0 runtime mutations.

Why PATCH1's self-review failed (root of B12): it was a category checklist that marked every blocker PASS without live inspection. It missed the dispatcher REAL_RUN exception, the IU-create semantics, the impossible granted status, the 0-row resolver join, and the unrelated harness. This review reproduces from live evidence first.

A1–A22

# Attack Live/source check Defended? Verdict
A1 raw SQL path still possible file 02/05 remove raw DDL/DML; DOT-only + block_after_guard by design, but governed handler absent HOLD (B1/B4)
A2 named DOT not wired c1_contracts=0, c1_dot_tools=0 contracts absent HOLD
A3 C1 DOT pair absent dot_agent_api_contract=DOT_KG only absent HOLD
A4 Directus collection creation not proven no Directus-DDL primitive in 54-cmd catalog; c1_table=0 unproven (artifact absent) HOLD
A5 manifest invents values R_C1 projects governed apr_action_types only yes PASS
A6 manifest hash not recomputable real bytes+SHA-256+command (file 09) yes PASS
A7 wrong-scope auth passes exact set-equality + status='active' + esign authenticity (file 05) by spec; grant absent PASS-spec / AUTHORITY
A8 loose action superset passes @> replaced by sorted set-equality yes PASS
A9 consume after write possible consume at S1 before writes, one txn (file 05/06) by spec; handler absent HOLD (B4)
A10 duplicate retry duplicates rows c1_build_run resume + per-value idempotency by spec; table/handler absent HOLD (B5)
A11 partial failure leaves orphan named COMP_* stop states by spec; handlers absent HOLD (B5)
A12 rollback deletes no-DELETE; versioned retire/supersede by spec; handler absent HOLD (B5)
A13 rollback keeps retired valid forward-fail-closed (RBP-8) by spec PASS-spec
A14 PF7 checks wrong gate C1 view required; v_dotkg not reused; c1_preflight_views=0 view absent HOLD (B7)
A15 T1–T20 not executable T16/T18/T20 runnable now; rest need absent artifacts partial HOLD (B6)
A16 cser ambiguous cser-v1 pinned; real digest yes PASS
A17 evidence can't prove readback read-only packet (file 10); AFTER needs artifacts partial HOLD (B9⊂B1)
A18 blast-radius misses artifacts file 10 lists all absent artifacts + shared-config caveat yes PASS
A19 prep gap hidden as authority-only file 02/05/06/07/08 explicitly classify B1/B4/B5/B6/B7 as PREPARATION_GAP yes PASS (honesty)
A20 dry-run-ready-now overclaim verdict says NO to both gates yes PASS
A21 engineering PASS = authority PASS distinguished throughout yes PASS
A22 invalid input creates digest/PASS/seal fail-closed at verifier/cser/resolver; absent artifacts can't seal yes PASS

Verdict

A2, A3, A4, A9, A10, A11, A14, A15, A17 are HOLD: the defenses are specified but rest on executable contracts that do not exist and that PATCH2 may not create. Codex's bar ("authorization may remain absent; the executable contract may not") is therefore not met.

INTERNAL VERDICT: READY_TO_ASSEMBLE_LEGO1_PATCH2_HOLD_DOT_DIRECTUS_PATH_INCOMPLETE (not forced). Had the C1 executable contracts existed and been read-back-verifiable (with only the grant + runtime flips remaining), this review would have returned …_READY_FOR_GPT_REVIEW. They do not, so it returns HOLD.

Boundary attestation

Internal review only; no mutation. REGISTRATION_HOLD retained; CAN_PROCEED = NO; 0 runtime mutations.

Back to Knowledge Hub knowledge/dev/laws-new/reports/ready-to-assemble-lego1-patch2/11-internal-codex-negative-review-2026-06-22.md