KB-6C79

Codex Re-Review — RS-TKT-0A-PATCH2

10 min read Revision 1
codex-rereviewrs-tkt-0a-patch2tool-kiem-thulegoaccept-with-caveatsphase-1-design-onlyregistration-holdread-only2026-06-22

Codex Re-Review — RS-TKT-0A-PATCH2

Date: 2026-06-22
Review mode: independent read-only AgentData KB contract review
Final verdict: ACCEPT_RS_TKT_0A_PATCH2_WITH_CAVEATS_FOR_PHASE_1_DESIGN
Registration gate: REGISTRATION_HOLD
REGISTRATION_CAN_PROCEED = NO

1. Executive judgment

PATCH2 closes all three remaining findings from the PATCH1 re-review:

  • P1 now fails closed on bare/unstructured reserved grant-like output even when exit is nonzero and no structured GRANT event exists.
  • P6 separates the two-value provenance profile_id from the applicability scope_class.
  • P7 defines FAIL/HOLD propagation, aggregate priority, five output fields, and a 10-row truth table.

No Phase-1 package has been created. P2–P5 were not contradicted. The authority and registration boundary remains intact.

RS-TKT-0A may proceed only to Phase 1 — TKT Base design package, design-only, with the caveats in §6 carried explicitly.

2. Files actually read

Governing baseline

  • .claude/skills/incomex-rules.md — all 36 items / steps 0–7.
  • knowledge/dev/ssot/operating-rules.md — OR v7.58, revision 51, full read, truncated=false.
  • knowledge/dev/laws/constitution.md — Constitution v4.6.3 BAN HÀNH, revision 44, full read, truncated=false.
  • knowledge/dev/laws/law-01-foundation-principles.md — Điều 1 v3.3, revision 12.

Prior verdict

  • knowledge/current-state/reports/codex-rereview-rs-tkt-0a-patch1-2026-06-21.md — revision 1, full read; verdict REJECT_RS_TKT_0A_PATCH1_FAIL_CLOSED_UNRESOLVED.

PATCH2 package — full reads

  • knowledge/dev/laws-new/tool-kiem-thu-lego/patch2/00-codex-rereview-closure-map-2026-06-21.md.
  • patch2/01-p1-unstructured-forbidden-output-contract-2026-06-21.md.
  • patch2/02-p6-profile-id-schema-repair-2026-06-21.md.
  • patch2/03-p7-status-propagation-and-aggregate-truth-table-2026-06-21.md.
  • patch2/04-final-patch2-report-for-gpt-codex-review-2026-06-21.md.
  • knowledge/dev/laws-new/tool-kiem-thu-lego/index.md — revision 4, full read.

Inventory evidence

AgentData returned count=24, next_offset=null, truncated=false for the workspace:

  • RS-TKT-0A 00–08: all revision 1.
  • PATCH1 00–08: all revision 1.
  • PATCH2 00–04: all revision 1.
  • index.md: revision 4.
  • No Phase-1 package exists.

3. P1 closure judgment — CLOSED

The corrected safe predicate has all six conjuncts:

exit_code != 0
AND structured_forbidden_grant_event_emitted == false
AND unstructured_reserved_grant_token_emitted == false
AND forbidden_authority_artifact_created == false
AND forbidden_cert_or_seal_file_created == false
AND forbidden_authority_digest_created == false

The prior counterexample is now deterministic:

stdout = "PASS"
event_type = absent
authority_effect = absent
exit_code = 3
no artifact file
=> FAIL_UNSTRUCTURED_FORBIDDEN_TOKEN

Verified properties:

  • Bare reserved grant-like output is forbidden independently of structured events.
  • Nonzero exit cannot erase a token or artifact.
  • Missing scan visibility returns HOLD_OUTPUT_SURFACE_UNAVAILABLE, never PASS.
  • Safe rejection requires event_type=REJECTION, authority_effect=NONE, nonzero exit, and no authority artifact/digest.
  • Scan surface includes stdout, stderr, result files, exit codes, declared generated paths, the run-output directory, and negative-test outputs.
  • Detector order checks artifacts/events/unstructured tokens before exit code.
  • BAD-FC-001 through BAD-FC-008 have deterministic expected outcomes.

Adversarial results:

Case Result
Bare PASS, exit 3 FAIL_UNSTRUCTURED_FORBIDDEN_TOKEN
Cert/seal/authority-digest artifact, exit 3 FAIL_FORBIDDEN_AUTHORITY_ARTIFACT
Exit 0, no artifact/token FAIL_INVALID_EXIT_ZERO
Valid structured rejection containing SEAL SAFE_REJECT
Incomplete output surface HOLD_OUTPUT_SURFACE_UNAVAILABLE

No unstructured grant-like output can be ignored merely because it lacks a structured GRANT event.

4. P6 closure judgment — CLOSED

The repaired schema restricts profile_id to:

CODEX_CAUGHT_RS5A
SELF_REPORTED_RS5B_DRAFT

Applicability is separately represented by:

scope_class =
  STRUCTURAL_COMMON
  | RS5A_SPECIFIC
  | RS5B_SPECIFIC

No rule uses profile_id=structural.

Verified scope:

  • Groups A/B/G: profile_id=CODEX_CAUGHT_RS5A, scope_class=STRUCTURAL_COMMON.
  • Lifecycle, Q-order, replay/G02, and 84/86 rules: RS5A_SPECIFIC.
  • RS5B BI01–BI10: SELF_REPORTED_RS5B_DRAFT and RS5B_SPECIFIC.
  • No automatic promotion exists; later promotion requires an explicit review reference.

RS5B remains self-reported and cannot be called externally validated or used as a gate.

5. P7 closure judgment — CLOSED

Definitions and dependencies are explicit:

  • PASS = assessed and passed.
  • FAIL = assessed and failed.
  • HOLD = missing, ambiguous, unsafe, or unauthorized context.
  • N/A = prerequisite failed/held or genuinely out of scope.
  • L1 depends on L0 PASS.
  • L2 depends on L0+L1 PASS.
  • L3 depends on L0+L1+L2 PASS.

Verified propagation:

  • L0/L1/L2 FAIL → downstream N/A, aggregate FAIL, readiness NOT_READY.
  • L0/L1/L2 HOLD → downstream N/A, aggregate HOLD, readiness BLOCKED.
  • L3 sub-brick FAIL → L3/aggregate FAIL.
  • L3 sub-brick HOLD with none FAIL → L3/aggregate HOLD.
  • All required levels PASS → aggregate PASS, REVIEW_READY.
  • Optional out-of-scope N/A does not upgrade or downgrade an all-required-PASS aggregate.
  • Priority is FAIL > HOLD > PASS.

The truth table has 10 rows and every row has:

authority_effect = NONE
registration_effect = NONE

Five fields are consistently named:

  • level_status
  • aggregate_status
  • review_readiness
  • authority_effect
  • registration_effect

HOLD cannot become PASS and N/A cannot upgrade the aggregate.

6. Remaining caveats

These do not block opening Phase 1 design-only:

  1. MCB-1: RS5B has no external Codex review. Its profile remains SELF_REPORTED_RS5B_DRAFT.
  2. MCB-5: NON_VECTOR_ROOT is undesignated. This blocks Phase 3 and real escrow acceptance, not Phase 1.
  3. MCB-6: no single enacted laws-new architecture baseline exists. The Tier-1/2/3 hierarchy remains required.
  4. MCB-2/MCB-3 are closed at design-contract level; Phase-1 design must preserve the namespaced NVSZ codes and canonical hash_manifest.sha256.
  5. Phase-1 design should place the reserved-token floor in versioned metadata/config and define exact normalization/tokenization. It must not hardcode a permanently closed token list.
  6. aggregate_status still lists N/A in its type while the contract states a completely unassessable required packet aggregates to HOLD. Phase 1 should remove the unreachable aggregate N/A value or define its legitimate case.
  7. “0 runtime mutations” is a package attestation. This re-review did not inspect PG/Directus/runtime and does not upgrade that statement to live proof.

7. Blockers

None for opening Phase 1 design-only.

No implementation, runtime, registration, or production permission follows from this acceptance.

8. Authority/registration boundary judgment

The boundary holds:

  • NON_AUTHORITY
  • may_gate=false
  • decision_effect=NONE
  • authority_effect=NONE
  • registration_effect=NONE
  • no Owner/scope/APR/register_dot
  • no validator/registrar/DOT runtime
  • no PG/Directus/registry/system_issues mutation
  • no semantic, implementation, runtime, registration, or production PASS
  • REGISTRATION_HOLD remains active
  • REGISTRATION_CAN_PROCEED = NO

No runtime drift, authority overclaim, or scope drift was found.

9. Three declarations

  • Vĩnh viễn: the output protocol now covers structured and unstructured channels, so later implementations cannot reinterpret bare PASS as harmless.
  • Nhầm được không: explicit detector order, scan-surface HOLD, two-axis profile metadata, and a total status truth table make outcomes deterministic.
  • 100% tự động: all eight forbidden-output fixtures and every required status branch map mechanically to one result without reviewer interpretation.

10. Steps 0→6 compliance

  • Step 0 — Read skill, OR v7.58, Constitution v4.6.3, Điều 1 v3.3.
  • Step 1 — One mission: PATCH2 independent read-only re-review.
  • Step 2 — Read prior verdict, inventory, and every PATCH2 governed file before judgment.
  • Step 3 — N/A: no code, DDL, DML, runtime/config mutation.
  • Step 4 — N/A: no PR/merge/deploy for a review-only mission.
  • Step 5 — Full AgentData reads and exact inventory output; no production proof claimed.
  • Step 6 — Official report uploaded to the required KB report path. OR update: not required because no operating rule or implementation changed. TD/handoff: remaining caveats are contained in this report.

11. Exact next allowed step

The only authorized next step is:

Open Phase 1 — TKT Base design package, design-only.

Phase 1 must carry the caveats in §6 and remain under REGISTRATION_HOLD.

Acceptance does not authorize a runtime tool, Python checker, shell runner, DOT runtime, registry/PG/Directus mutation, registration movement, semantic Text-as-Code PASS, implementation PASS, runtime PASS, or production PASS.