KB-517C rev 2

Codex Review — Macro-4 R2-B2 Staging Workbench / IO Contract / TD-Entry Gate (2026-06-19)

14 min read Revision 2
laws-newR2-B2macro-4codex-reviewstaging-workbenchio-contracttd-entry-gatecontrol-reviewpass-with-caveatsnon-authorizing2026-06-19

Codex Review — Macro-4 R2-B2 Staging Workbench / IO Contract / TD-Entry Gate

STATUS: PASS_WITH_CAVEATS

OFFICIAL REPORT: knowledge/dev/laws-new/reports/codex/codex-review-macro4-r2-b2-staging-workbench-io-contract-td-entry-gate-2026-06-19.md

Executive Summary

  • Verdict: PASS_WITH_CAVEATS. The 90-file Macro-4 package is accepted as design/readiness-only: staging workbench concept, draft lifecycle, standard IO envelope, B2 candidate contracts, delete-fast/no-production-touch obligations, bad-input oracle, TD/staging gates, and Macro-5 branch menu.
  • No HOLD/FAIL trigger found: no staging schema/table/corpus, no current corpus, no actual TD, no bad-input test run, no runtime/source/staging mutation, no channel authority, no owner assignment, no Điều 0-G adoption, and no blocker resolution.
  • Material caveats remain: GATE-3 source authority NO-GO, GATE-4 channel open, GATE-5 owner open, actual B2 TD NO-GO, staging build NO-GO, app.birth_gate_mode transient layer unavailable/OOB, write-gated paths closed, and all blockers OPEN.
  • Codex did not independently rerun live SQL. This review grounds the fresh evidence claims in AgentData KB readback of the execution report, runtime ledger, and supporting control files.

Evidence Read

  • Local: AGENTS.md and .claude/skills/incomex-rules.md read.
  • AgentData search_knowledge("operating rules SSOT"): observed knowledge/dev/ssot/operating-rules.md v7.58 and VPS Operating Rules.
  • AgentData search_knowledge("hiến pháp v4.0 constitution"): observed current knowledge/dev/laws/constitution.md v4.6.3 plus v4.0 review history.
  • AgentData owner-gate search: observed Điều 32 / staging gate / Macro-4 non-authorizing context.
  • AgentData list prefix knowledge/dev/laws-new/newlaws/consolidation/macro4-: returned_count 89, count 89, next_offset null, all listed revision 1.
  • AgentData list exact execution report path: returned_count 1, revision 1.
  • Deep reads performed for execution report, staging workbench concept, standard IO envelope, B2 output contract, delete-fast master requirements, no-production-touch master proof plan, bad-input classes, bad-input no-digest-pass rule, actual-TD entry gate v2, staging build authorization gate, Macro-5 branch map, non-write runtime ledger, blocker status, do-not-implement register, LEGO boundary map, and no-mega-registry lock.

File / Metadata Audit

Check Verdict Issue
Exactly 90 target files exist PASS 89 consolidation files plus 1 execution report.
89 files under newlaws/consolidation/macro4-* PASS AgentData prefix list returned_count=89, next_offset=null.
1 file under newlaws/reports PASS Execution report exact path returned_count=1, revision 1.
No 91st output observed PASS Prefix count + exact report count match expected bundle.
All listed target files revision 1 PASS Prefix list and execution report list show revision 1.
Bodies use editorial rev only PASS Deep-read files state Editorial revision: rev1; storage metadata is authoritative at read time.
No schema/corpus/code created PASS Reviewed docs are concept/contract/gate/register/report files; workbench and staging gates explicitly say no schema/table/corpus.

Workbench Audit

Check Verdict Issue
Workbench is draft-only PASS Concept requires draft/disposable/candidate-only surface.
Workbench isolated PASS Explicitly separate from production and existing IU staging surfaces.
Delete-fast requirement present PASS Delete-fast unit and proof obligations defined.
No production touch PASS No-production-touch requirements and proof plan defined; no production mutation.
No automatic promotion PASS Promotion is Owner-gated and never automatic.
No canonical/certified/KG/owner writes PASS Concept forbids canonical, certified, KG, owner-row, source-adoption writes.
No staging schema/table/corpus created PASS Concept-only and build-not-authorized locks hold.

IO Contract Audit

Check Verdict Issue
Standard IO contract is envelope/template only PASS Envelope is per-block/local; no runtime binding.
Explicit surfaces present PASS Input/output/error/evidence/rollback/owner/promotion/forbidden/delete-fast/no-touch/bad-input/authority surfaces defined.
Does not create registry PASS No-mega-registry lock states template, not central store.
No universal mutable write surface PASS Each block writes only its own output surface.
No hidden shared state / implicit cross-block mutation PASS Contracts are explicit, versioned, pointer-linked.
No automatic draft-to-production promotion PASS Promotion surface is Owner-gated firewall.

B2 IO Audit

Check Verdict Issue
B2 input reads governed/disposable input PASS Input side is workbench/copy-driven; no production mutation required.
B2 output candidate-only PASS candidate_inspect_pen, candidate_inspect_stamp, candidate_inspect_gate, candidate_reason, candidate_evidence_ref, candidate_error_code, candidate_reject_reason.
No production inspect_* writes PASS Candidate-only lock; production writes forbidden.
No certified=true / canonical / KG / owner / source adoption PASS B2 contract and production firewall forbid these surfaces.
STAMP/GATE design caveat retained PASS_WITH_CAVEAT File notes STAMP/GATE least-precedented; design-open.

Delete-Fast Audit

Check Verdict Issue
Single unit of deletion PASS DF-1 defined.
No production dependency PASS DF-2 requires no production rows in deletion unit.
Before/after, delete, rollback evidence PASS DF-3/DF-4 defined as requirements.
No leftover references PASS DF-5 explicit.
No canonical/certified/KG edge PASS DF-6 explicit.
No SQL/DROP/rollback script written PASS Mechanism marked FUTURE_TECHNICAL_DESIGN_REQUIRED; nothing deleted/built now.

No-Production-Touch Audit

Check Verdict Issue
Before/after proof plan exists PASS Master proof plan defines before/after snapshot.
Forbidden production surfaces explicit PASS Separate forbidden surfaces deliverable referenced.
Runtime and source proof obligations exist PASS Runtime/source proof deliverables referenced.
Promotion firewall exists PASS Promotion firewall is part of proof structure.
Proof plan is future obligation, not executed proof PASS_WITH_CAVEAT Macro honored read-only, but future built-workbench proof is not run here.
This macro has 0 mutating calls PASS Runtime ledger says mutating calls: 0.

Bad-Input Oracle Audit

Check Verdict Issue
BAD-1..BAD-15 classes exist PASS Bad-input classes file enumerates BAD-1 through BAD-15.
Expected behavior fail-closed PASS No-digest-pass rule and expected reject behavior keep fail-closed.
F-OPEN signals are reject conditions PASS Fail-open artifacts are reject conditions.
Invalid input cannot create digest/PASS/stamp/certify PASS Explicit no-digest-pass rule: invalid input creating any success artifact is fail-open -> REJECT.
No bad-input test run PASS Bad-input files state NO test run; test-run lock.
No digest produced PASS No-digest-pass file says no test/digest produced here.

TD-Entry / Staging-Build Audit

Check Verdict Issue
Actual B2 TD G-1 Go PASS Entry gate v2: G-1 Go.
Actual B2 TD G-3/G-4/G-5/G-6/G-11 No-Go PASS_WITH_CAVEAT Source/channel/owner/staging/blockers remain open.
Actual B2 TD G-2/G-7/G-8/G-9/G-10 Partial PASS_WITH_CAVEAT Partial only; not authority.
Aggregate actual B2 TD PASS_WITH_CAVEAT NO-GO; no TD opened.
Staging build SB-1/SB-2/SB-3 Partial PASS_WITH_CAVEAT Designed, not accepted/proven/run.
Staging build SB-4/SB-5/SB-6 No-Go PASS_WITH_CAVEAT Naming/isolation scheme not chosen, Owner build authorization absent, verification harness future TD.
Aggregate staging build PASS_WITH_CAVEAT NO-GO; no staging build authorized.
Staging build distinct from actual TD PASS Separate gates; both Owner-gated; neither launched.

Macro-5 Audit

Check Verdict Issue
Macro-5 branch plan conditional only PASS Branch map proposes branches after Codex/Owner.
M5-A staging build authorization package future only PASS Recommended if Owner wants forward motion, but not launched.
M5-B actual-TD prep future only PASS Requires owner decisions and gate movement.
M5-C partial controlled PASS Partial decisions keep unresolved lanes HOLD.
M5-D hold safe default PASS Re-verify only; no new design surface.
M5-E rejects B5/B7/R1 creep PASS Scope-creep requests refused.
Macro-5 not launched PASS Branch conditions unmet; default HOLD.

LEGO / Scope-Control Audit

Check Verdict Issue
B2 only primary block PASS LEGO map keeps B2 = inspect producer only.
B5/B7 dependency-only PASS Scope lock holds.
R1/KG cross-check-only PASS Scope lock holds; Điều 39 remains OPEN.
No mega-registry PASS IO contract overreach not triggered.
No mega-graph PASS No KG write/graph authority.
No mega-birth pipeline PASS No-mega-birth lock; B2 does not certify/canonicalize/backlog-drain.
No hidden shared write surface PASS Explicit per-block contracts only.
90-file bundling does not create coupling PASS_WITH_CAVEAT Accepted at design layer; physical separability is future-build proof.

Fresh Read-Only Evidence Audit

Check Verdict Issue
query_pg/list_docker read-only only PASS_WITH_CAVEAT Ledger says READ ONLY/AST-validated/read-only role; Codex did not rerun SQL independently.
No DB write/DDL/DML PASS Mutating calls: 0.
birth_registry/backlog grounded PASS Ledger: total 1,213,202 / certified 1,402 / uncertified 1,211,800.
governance_object_ownership remains 0 PASS Ledger records 0.
universal_edges 2199 / 0 provenance PASS Ledger records 2,199 / 0 prov / 0 valid_time / 0 quarantined.
event_outbox grounded PASS Ledger records 215,609.
pg_cron absent PASS Ledger records absent.
dot_agent_api_contract 0 birth-bound PASS Ledger records 2 KG contracts, 0 birth-bound.
host crontab 0 birth jobs PASS Ledger records 54, 0 birth.
dot_config fail-closed / switches off PASS Ledger records execute/real_run false; queue OFF; iu_create gateway enforced.
Existing staging-like tables classified correctly PASS Workbench concept/ledger classify them as production IU surfaces, not Macro-4 staging.
app.birth_gate_mode unavailable labeled unavailable PASS_WITH_CAVEAT Ledger says DENIED by safe-param allowlist; inherited warn-mode/no persisted bypass only.

Gate / Blocker Audit

Check Verdict Issue
GATE-3 source remains NO_GO PASS_WITH_CAVEAT Điều 0-G source still broken/unadopted.
GATE-4 channel remains open/non-waivable PASS_WITH_CAVEAT No channel selected.
GATE-5 owner remains open/non-waivable PASS_WITH_CAVEAT Owner row count 0.
Aggregate B2 TD remains NO-GO PASS_WITH_CAVEAT Entry gate v2 remains NO-GO.
Staging build remains NO-GO PASS_WITH_CAVEAT SB gate remains NO-GO.
Điều 39 remains OPEN PASS_WITH_CAVEAT universal_edges 2,199 / 0 provenance.
Điều 35 remains OPEN/FAIL PASS_WITH_CAVEAT Blocker ledger keeps production-readiness FAIL.
All blockers remain OPEN PASS_WITH_CAVEAT CONS/CELL/HOLD/RISK/GOV/Điều39/Điều35/GATE-3/4/5 all OPEN.
Backlog growth not used to bypass gates PASS Backlog is evidence/urgency only, not gate bypass.

Non-Authorization Audit

  • DB write/DDL/DML performed/authorized? no
  • restart/reload performed/authorized? no
  • runner/job/cron/worker execution performed/authorized? no
  • DOT/KG/birth/certify/promote execution performed/authorized? no
  • inspect/certified writes performed/authorized? no
  • channel authority selected? no
  • S2 owner assigned? no
  • governance_object_ownership row written? no
  • Điều 0-G source adopted/recovered/patched? no
  • staging schema/table/corpus created? no
  • current corpus created? no
  • bad-input test run? no
  • actual TD authorized? no
  • implementation authorized? no
  • blocker falsely resolved? no
  • v0.1-stable overwritten? no
  • v0.2-hardening promoted/used as authority? no

Next-Step Decision

  • Is the 90-file Macro-4 bundle accepted? yes, with caveats.
  • Can GPT/Owner use this to choose Macro-5 branch? yes.
  • Was any Owner authority action enacted? no.
  • Is actual B2 TD authorized now? no.
  • Is staging build authorized now? no.
  • Is write-enabled remediation authorized now? no.
  • Recommended next action: Owner/GPT may choose Macro-5 branch. Default remains HOLD; M5-A is only a future staging-build authorization package, not a build.

Final Recommendation

  • Further Claude patch needed? no, not for this package as design/readiness-only.
  • Owner-delegate can use this bundle for Macro-5 decision? yes, with caveats retained.
  • Default next action: Owner branch decision for Macro-5; no automatic staging build, no actual TD, no write-enabled remediation.
  • Do not implement confirmation: no runtime mutation, no DDL/DML, no implementation, no technical design, no blocker resolution, no current corpus, no staging schema/table/corpus, no bad-input test run, no adoption.
Back to Knowledge Hub knowledge/dev/laws-new/reports/codex/codex-review-macro4-r2-b2-staging-workbench-io-contract-td-entry-gate-2026-06-19.md