KB-7949

RS-TKT-1-PATCH1B · 02 Canonical Fixture Master Catalog

15 min read Revision 1
tool-kiem-thulegolaws-newrs-tkt-1phase1-designpatch1bfixture-master-catalognon-authorizing2026-06-22

RS-TKT-1-PATCH1B · 02 — Canonical Fixture Master Catalog

NON_EXECUTABLE_DESIGN_EXAMPLE
FUTURE_DRY_RUN_BLUEPRINT_ONLY
NOT_IMPLEMENTED
NOT_AUTHORIZED_FOR_RUNTIME

Lane: RS-TKT-1 — Phase 1 TKT Base Design Package · PATCH1B (dry-run readiness preflight / proof-doc-only) Date: 2026-06-22 Gate: REGISTRATION_HOLD · REGISTRATION_CAN_PROCEED = NO · 0 runtime mutations Authority: NON_AUTHORITY · may_gate=false · decision_effect=NONE Closes: Codex F1–F4 (the normalized catalog) and provides the brick coverage that 03 counts. Schema: 01. Every row obeys 01 §1.1 (R1–R6) and carries authority_effect = registration_effect = NONE.

The complete normalized catalog of all 46 fixtures: 15 POSITIVE controls + 25 NEGATIVE single-brick fixtures + 6 ADVERSARIAL cross-cutting fixtures. Every fixture has separated status/outcome, exactly one canonical code, one namespace, one layer, one brick (or, for ADVERSARIAL, one design-wide invariant). This additively supersedes the outcome cells of Phase-1 17 and construction-blueprint 12 (both stay revision 1).


1. Family FAIL_CLOSED — target TKT-L2-FAIL-CLOSED

validator_namespace = TKT_L2_FAILCLOSED · target_contract = 04 §1/§7 · source_design_file = 04 · source_construction_file = 12,13 · source_contract_file = PATCH2 01 (P1) · phase = PHASE2_DRY_RUN · stop_state_if_failed = RS_TKT_1_PATCH1B_REJECT_FAIL_CLOSED_UNRESOLVED

fixture_id type input_shape check_status probe_outcome canonical_outcome_code
BAD-FC-003 POSITIVE ORACLE_CLAIMS_SEAL_REJECTED, event_type=REJECTION, authority_effect=NONE, exit 3, no artifact PASS clean structured rejection SAFE_REJECT
BAD-FC-005 POSITIVE exit≠0, no grant token/artifact, structured REJECTION/NONE PASS all six conjuncts hold SAFE_REJECT
BAD-FC-001 NEGATIVE bare PASS to stdout + exit 3 FAIL unstructured grant-like token FAIL_UNSTRUCTURED_FORBIDDEN_TOKEN
BAD-FC-002 NEGATIVE cert/seal/authority-digest artifact + exit 3 FAIL forbidden authority artifact FAIL_FORBIDDEN_AUTHORITY_ARTIFACT
BAD-FC-004 NEGATIVE invalid input exits 0, no token/artifact FAIL nonzero-exit conjunct violated FAIL_INVALID_EXIT_ZERO
BAD-FC-006 NEGATIVE bare SEMANTIC_TEXT_AS_CODE_PASS + exit 3 FAIL L5 overclaim token FAIL_UNSTRUCTURED_FORBIDDEN_TOKEN
BAD-FC-007 NEGATIVE result.md with REGISTRATION_CAN_PROCEED = YES + exit 3 FAIL registration-open token FAIL_UNSTRUCTURED_FORBIDDEN_TOKEN
BAD-FC-008 NEGATIVE scan surface absent (stdout/stderr/result missing) HOLD missing visibility HOLD_OUTPUT_SURFACE_UNAVAILABLE

F1 status fix: 17 §1 previously put SAFE_REJECT in the status column for BAD-FC-003/005. Here their expected_check_status = PASS; SAFE_REJECT lives only in probe_outcome/code. BAD-FC-003/005 are the L2 positive controls — they are fixture_type = POSITIVE precisely because a clean safe-rejection that the brick handled correctly is a PASS of the fail-closed contract (they prove the safe-rejection guard does not false-positive). Their BAD- id is historical/stable (01 §1 ids are stable); their type is POSITIVE.

2. Family L0_FILE — target TKT-L0-FILE

validator_namespace = TKT_L0 · target_contract = 02 §2 · source_design_file = 02/03 · source_construction_file = 12 · source_contract_file = PATCH1 07 (P7 chain) · phase = PHASE2_DRY_RUN · stop_state_if_failed = RS_TKT_1_PATCH1B_HOLD_COVERAGE_INCOMPLETE

fixture_id type input_shape check_status probe_outcome canonical_outcome_code
POS-L0-001 POSITIVE intact packet; ledger + tree-pin consistent; all files present + hashes recompute PASS L0 passes PASS_POSITIVE_CONTROL
BAD-L0-001 NEGATIVE a listed file is absent FAIL missing file L0_FILE_MISSING
BAD-L0-002 NEGATIVE a file's bytes changed; hash will not recompute FAIL hash mismatch L0_HASH_MISMATCH
BAD-L0-003 NEGATIVE sha256(hash_manifest.sha256) ≠ packet_tree.sha256 FAIL tree-pin mismatch L0_TREE_PIN_MISMATCH
BAD-L0-004 NEGATIVE a governed file is unlisted in the ledger FAIL unlisted governed file L0_UNLISTED_GOVERNED_FILE

3. Family L1_RECONSTRUCT — target TKT-L1-PACKET (PACKET_RECONSTRUCTION)

validator_namespace = TKT_L1 · target_contract = 02 §3 + PATCH1 P4 · source_design_file = 02 · source_construction_file = 10/11 · source_contract_file = PATCH1 04 (P4) · phase = PHASE2_DRY_RUN · stop_state_if_failed = RS_TKT_1_PATCH1B_HOLD_COVERAGE_INCOMPLETE (BAD-L1-001 stop = RS_TKT_1_PATCH1B_REJECT_RUNTIME_DRIFT)

fixture_id type input_shape check_status probe_outcome canonical_outcome_code
POS-L1-001 POSITIVE inert recipe re-runs in a fresh workspace; regenerated anchor byte-identical to pin PASS reconstruction matches PASS_POSITIVE_CONTROL
BAD-L1-002 NEGATIVE regenerated verdict-anchor pin ≠ published pin FAIL reconstruction drift L1_RECONSTRUCT_DRIFT
BAD-L1-001 NEGATIVE reconstruction requires subject-under-test runtime HOLD SUT runtime ⇒ Phase 4 HOLD_RUNTIME_SURFACE_REQUIRED

4. Family L3_GOVERNANCE — four independent bricks (05)

source_construction_file = 10 · source_contract_file = PATCH1 02 (P2 split) · phase = PHASE2_DRY_RUN · stop_state_if_failed = RS_TKT_1_PATCH1B_REJECT_AUTHORITY_OVERCLAIM (NVSZ rows stop = RS_TKT_1_PATCH1B_HOLD_TRACEABILITY_INCOMPLETE)

fixture_id target brick type input_shape check_status probe_outcome canonical_outcome_code ns
POS-L3-AF-001 TKT-L3-AUTHORITY-FIREWALL POSITIVE packet self-describes NON_AUTHORITY; no seal PASS firewall clean PASS_POSITIVE_CONTROL TKT_L3
BAD-L3-AF-001 TKT-L3-AUTHORITY-FIREWALL NEGATIVE a dev fixture claims a Codex/owner seal FAIL authority claim refused L3_AUTH_CLAIM_REJECTED TKT_L3
POS-L3-CA-001 TKT-L3-CLAIM-AUDIT POSITIVE every load-bearing claim recomputes against cited files PASS claims verified PASS_POSITIVE_CONTROL TKT_L3
BAD-L3-CA-001 TKT-L3-CLAIM-AUDIT NEGATIVE a prose-only PASS / a cited hash that will not recompute FAIL claim unverified L3_REPORT_CLAIM_UNVERIFIED TKT_L3
POS-L3-ID-001 TKT-L3-IDENTITY POSITIVE IDs unique, no orphan, routed to one-roof PASS identity clean PASS_POSITIVE_CONTROL TKT_L3
BAD-L3-ID-001 TKT-L3-IDENTITY NEGATIVE an id in an existing/reserved range FAIL id collision L3_OBJECT_ID_COLLISION TKT_L3
BAD-L3-ID-002 TKT-L3-IDENTITY NEGATIVE a NEW TKT-owned registry is proposed FAIL anti-mega-registry trip L3_NEW_REGISTRY_PROPOSED TKT_L3
POS-L3-NVSZ-001 TKT-L3-NVSZ POSITIVE escrow records complete {hash,pointer,regen_cmd,determinism,root=false} PASS nvsz records complete PASS_POSITIVE_CONTROL TKT_L3
BAD-NVSZ-001 TKT-L3-NVSZ NEGATIVE a raw log placed in a vector-KB path FAIL raw log in vector KB ESCROW_E5 NVSZ_ESCROW
BAD-NVSZ-002 TKT-L3-NVSZ NEGATIVE an agent-designated NON_VECTOR_ROOT (escrow-validation view) FAIL invented root (escrow) ESCROW_E9 NVSZ_ESCROW

F3 namespace fix: 17 §3 previously wrote ESCROW_E9 / ROOT_E4 in one cell. Here BAD-NVSZ-002 expects only ESCROW_E9 (escrow validator, Phase 1/2). The root-provisioning case is split into BAD-NVSZ-003 (§7, Phase 3).

5. Family RS_PROFILE — seven support bricks (08 §6)

validator_namespace = RS_PROFILE · source_design_file = 08 · source_construction_file = 10 · source_contract_file = PATCH2 02 (P6) + PATCH1 06 · phase = PHASE2_DRY_RUN · stop_state_if_failed = RS_TKT_1_PATCH1B_HOLD_COVERAGE_INCOMPLETE

fixture_id target brick type input_shape check_status probe_outcome canonical_outcome_code
POS-RS-A-001 RS-GROUP-A PACKAGE POSITIVE complete, non-empty, non-truncated, additive package PASS package complete PASS_POSITIVE_CONTROL
BAD-RS-A-001 RS-GROUP-A PACKAGE NEGATIVE a package that overwrites a prior package / is truncated FAIL non-additive package RS_PACKAGE_NOT_ADDITIVE
POS-RS-B-001 RS-GROUP-B GATE POSITIVE REGISTRATION_HOLD present + CAN_PROCEED=NO + 0 mutations + no register_dot PASS gate clean PASS_POSITIVE_CONTROL
BAD-RS-B-001 RS-GROUP-B GATE NEGATIVE packet lacks REGISTRATION_HOLD / asserts CAN_PROCEED=YES / opened register_dot FAIL gate violated RS_GATE_REGISTRATION_HOLD_ABSENT
POS-RS-C-001 RS-GROUP-C SCOPE_LIFECYCLE POSITIVE activation only post-registration; no implicit inherit PASS lifecycle clean PASS_POSITIVE_CONTROL
BAD-RS-C-001 RS-GROUP-C SCOPE_LIFECYCLE NEGATIVE activation before registration / implicit inherit FAIL premature activation RS_LIFECYCLE_PREMATURE_ACTIVATION
POS-RS-D-001 RS-GROUP-D QUORUM POSITIVE total Q-order Q00<…<Q50; lowest matching wins; eval-unit defined PASS quorum clean PASS_POSITIVE_CONTROL
BAD-RS-D-001 RS-GROUP-D QUORUM NEGATIVE Q-order not total / two matching Q-codes / eval-unit undefined FAIL non-total order RS_QUORUM_ORDER_NONTOTAL
POS-RS-E-001 RS-GROUP-E REPLAY_IDEMPOTENCY POSITIVE G02a/G02b/G02c disjoint; domain-restricted PASS replay clean PASS_POSITIVE_CONTROL
BAD-RS-E-001 RS-GROUP-E REPLAY_IDEMPOTENCY NEGATIVE G02a/b/c not disjoint / in-flight used as a code FAIL non-disjoint classes RS_REPLAY_CLASS_NONDISJOINT
POS-RS-F-001 RS-GROUP-F COUNT_ORACLE POSITIVE 84−1+3=86; one canonical code per scenario; filename↔title numeric consistent PASS count clean PASS_POSITIVE_CONTROL
BAD-RS-F-001 RS-GROUP-F COUNT_ORACLE NEGATIVE count ≠ 86 / dual code / filename↔title numeric mismatch FAIL non-canonical count oracle RS_COUNT_ORACLE_NONCANONICAL
POS-RS-G-001 RS-GROUP-G CODEX_PACKET POSITIVE verdict/gate/count/next-step identical across index↔decision↔packet↔rollup; links resolve PASS packet consistent PASS_POSITIVE_CONTROL
BAD-RS-G-001 RS-GROUP-G CODEX_PACKET NEGATIVE verdict/gate/count/next-step inconsistent / broken link / a PASS upgraded FAIL packet inconsistent RS_CODEX_PACKET_INCONSISTENT

6. No-illegitimate-reuse check (12 §3 / macro §4.3 — a fixture covers only its own brick)

Rule: a negative fixture may cover only the brick whose concern its input shape targets.
- BAD-RS-B-001 (gate brick) vs BAD-FC-007 (L2 fail-closed): DISTINCT. BAD-RS-B-001 reads the packet's declared gate fields
  (REGISTRATION_HOLD / CAN_PROCEED / register_dot state) ⇒ RS_GATE_REGISTRATION_HOLD_ABSENT. BAD-FC-007 is an L2 invalid-input
  probe whose SUBJECT emits a forbidden REGISTRATION_CAN_PROCEED=YES token ⇒ FAIL_UNSTRUCTURED_FORBIDDEN_TOKEN. Different brick,
  different input shape, different namespace, different code. No shared fixture covers two unrelated bricks.
- Every other negative/positive fixture targets exactly one brick. illegitimate_reuse_count = 0.

7. Family ADVERSARIAL — cross-cutting design-wide invariants + Phase-3 split (6 fixtures)

fixture_type = ADVERSARIAL · these probe design-wide invariants (not one base/RS brick). Each still carries exactly one code, one namespace, one layer.

fixture_id target invariant input_shape check_status probe_outcome canonical_outcome_code ns phase stop_state_if_failed
BAD-L3-001 L3 recombination (design-static, 05 §6) a design recombines the four L3 concerns / one brick reads another's internals FAIL mega-system drift (design review) REJECT_MEGA_SYSTEM_DRIFT DESIGN_LINT PHASE1_DESIGN RS_TKT_1_PATCH1B_REJECT_MEGA_SYSTEM_DRIFT
BAD-L3-002 L3 cross-brick read (future-runtime) at RUNTIME an L3 brick reads another L3 brick's internals FAIL cross-brick internal read (runtime) FAIL_L3_CROSS_BRICK_INTERNAL_READ TKT_L3 PHASE2_DRY_RUN RS_TKT_1_PATCH1B_REJECT_RUNTIME_DRIFT
BAD-RS-001 RS5B no-auto-promote (08 §5; MCB-1) RS5B BI0x draft promoted/applied as a generic, validated rule FAIL RS5B draft promoted FAIL_RS5B_DRAFT_PROMOTED DESIGN_LINT PHASE1_DESIGN RS_TKT_1_PATCH1B_REJECT_AUTHORITY_OVERCLAIM
BAD-PROP-001 HOLD≠PASS (06 §1/§8) an L0 HOLD treated as PASS FAIL HOLD treated as PASS FAIL_HOLD_TREATED_AS_PASS DESIGN_LINT PHASE1_DESIGN RS_TKT_1_PATCH1B_REJECT_FAIL_CLOSED_UNRESOLVED
BAD-PROP-002 N/A no-upgrade (06 §3/§5) an out-of-scope N/A used to upgrade the aggregate FAIL N/A upgrades aggregate FAIL_NA_UPGRADES_AGGREGATE DESIGN_LINT PHASE1_DESIGN RS_TKT_1_PATCH1B_REJECT_FAIL_CLOSED_UNRESOLVED
BAD-NVSZ-003 root never invented (07 §2, Phase 3) an agent-invented root at root acceptance FAIL invented root (root-provisioning) ROOT_E4 NVSZ_ROOT PHASE3_NVSZ (Phase-3 only; not a Phase-1/2 blocker)

F2/F4 fix: BAD-L3-001 is now one layer + one code (design-static); its runtime twin is the separate BAD-L3-002. BAD-RS-001/BAD-PROP-001/BAD-PROP-002 previously carried prose/config-error results (17 §2/§4); they now carry one DESIGN_LINT code each. These ADVERSARIAL fixtures are also enforced at runtime by the Phase-2 combiner per the 06 truth table (HOLD row 2; N/A rows 9/10); the canonical fixture is the single-coded design-review-time lint.

8. Catalog census (counted in 07)

fixtures_total          = 46
  POSITIVE              = 15  (POS-L0/L1/L3-*-001 ×6, POS-RS-{A..G}-001 ×7, BAD-FC-003, BAD-FC-005)
  NEGATIVE              = 25  (single-brick fail-closed: FC ×6 [001/002/004/006/007/008], L0 ×4, L1 ×2,
                              L3 single-brick ×6 [AF/CA/ID×2/NVSZ×2], RS ×7 [A..G])
  ADVERSARIAL           = 6   (BAD-L3-001, BAD-L3-002, BAD-RS-001, BAD-PROP-001, BAD-PROP-002, BAD-NVSZ-003)
expected_check_status distribution: PASS=15 · FAIL=29 · HOLD=2 (BAD-FC-008, BAD-L1-001) · N/A=0
invalid_status_values   = 0   (no SAFE_REJECT or other non-enum value in any check_status cell)
dual_outcome_codes      = 0   ·  prose_only_outcome_codes = 0  ·  missing_outcome_codes = 0
illegitimate_reuse      = 0
Back to Knowledge Hub knowledge/dev/laws-new/tool-kiem-thu-lego/phase1-design/patch1b-dryrun-readiness/02-canonical-fixture-master-catalog-2026-06-22.md