KB-2B49

CHECKPOINT — T2 RP Canonical Contract Design Alignment & Technical Spec (2026-06-05)

7 min read Revision 1
checkpointterminal2rp-canonical-contractdesign-alignmentregistry-drivenfull-population-invariantcomputed-proofreliabilityread-only2026-06-05

CHECKPOINT — T2 RP Canonical Contract Design Alignment & Technical Spec (2026-06-05)

  • Final status: PARTIAL (design advanced + implementation-ready; T1 final checkpoint absent → AWAITING_T1_FINAL).
  • Mode: READ-ONLY (Terminal 2 Design Auditor). DB: directus.public.
  • Mutations: NONE except this KB audit/design doc set (13 report docs + this checkpoint). No DB/FS/UI/Git/approvals/owners/events/REAL_RUN/IU/KB-source mutation.
  • Design alignment verdict: DESIGN_ADVANCED_AND_IMPLEMENTATION_READY.

T1 current state

checkpoint-rp-contract-canonical-registry-driven-fullpop-nohardcode-2026-06-05.md = 404 (absent)AWAITING_T1_FINAL. Continued from: reliability-adapter checkpoint (latest applied, overall 83), the two drill checkpoints, the prior T2 systemic audit (overall 54), final-officialization checkpoint, and the law prompt-muc-tieu-mo-for-claude-code (v1.3, design-only mode).

Live read-only evidence (2026-06-05, no drift)

  • Objects present: contracts v_rp_universal_node_ui_contract (v1, 19 col, 8239-char hardcoded 6-way UNION), …_v2 (21 col, thin decorator), …_reliability (29 col, thin decorator). Absent: …_current, axis_source_binding, v_rp_full_population_drill_invariant, v_rp_dynamic_drill_proof_matrix_computed.
  • Dependency chain: v1 (base) → v2 (+grouping/empty) → reliability (+8 fields). reliability LEFT JOIN axis_registry only to label source_scoperegistry-aware, NOT registry-driven.
  • Counts (match checkpoints): axis_registry 2 (AX-TOPIC/AX-PROCESS, CANDIDATE), axis_assignment 25, pivot_definitions 39, ownership 0, approval_requests 230 (0 votes), event_type_registry 52, dot_tools 309, wf_process_candidate 19/143.
  • axis_registry ALREADY has binding columns: node_source, node_filter, relation_source, root_rule, child_rule, lifecycle_field, owner_governance_ref, substrate_resolver, pivots_ref, status.
  • Invariant violations live in v1 (deployed-intended): 10 AX-PXT NEEDS_GROUPING + SHOW_SUBSTRATE (false affordance), 2 AX-PROCESS SHOW_SUBSTRATE + substrate_available=false (dead-end) = 12/87. v2/reliability fix all 12 but are not deployed.
  • Proof matrix v2 = curated/literal: case 12 false-green (408/NEEDS_GROUPING/SHOW_SUBSTRATE→PASS); blocked branch verdict='PASS_WITH_EXPECTED_BLOCKER' LITERAL on a hardcoded node list.
  • Reliability fields shallow: reliability_label 3-of-15 (CASE on count_status), lane_code=axis_code, count_semantics=count_status, confidence=label-default; detectors not joined to node.
  • Reuse assets: rp_grouping_policy (threshold 50, not read by contract), v_process_trigger_actionability_ledger (12 rows, ledger model for next_action), 23-lane split, static-literal/synthetic-gap/dedup detectors.
  • Reliability dashboard: adapter 94 / dot 60 / trigger 75 / overall 83; stale_literals 2, referenced_not_built 6, synthetic 3.

Design produced (the supplement)

  • Canonical _current + version lifecycle (v_rp_contract_version_registry) + deploy guard (v_rp_contract_current_guard) + no-_vN lint. [doc 02]
  • Registry-driven binding: extend axis_registry (reuse-first; no parallel table) with source_kind/governance_class/route_prefix/count_semantics/derived_from/…; fn_rp_axis_nodes() generic dispatcher kills the UNION. [doc 03]
  • Full-population invariant v_rp_full_population_drill_invariant over _current ∪ children: FAIL/EXPECTED/WARN ladder + substrate_represents_count + coverage assertion; UI render branch per status. [doc 04]
  • Computed proof …_proof_matrix_computed = verdict IS invariant (no literals); curated 26 retained as guarded examples. [doc 05A]
  • Reliability field contract: 15-vocab label (precedence), 4-value source_scope, composite confidence, real lane_code, additivity count_semantics, node∪detector warning_flags, governance next_action; join 5 detectors. [doc 05B]
  • Synthetic-axis governance: AX-BASE=DERIVED_STRUCTURAL, AX-PXT=DERIVED_CROSS (permanently derived, inherits parents), AX-TRIGGER=CANDIDATE (owner-gated); register-as-candidate now + label; DERIVED never independently officialized. [doc 06]
  • Birth/gov/RP sync matrix + per-node gov_sync_state; one dangerous-mismatch (PXT stale literals) → label STALE now. [doc 07]
  • Adapter coverage: freshness policy/SLA, partial/unknown propagation, scanner heartbeat reconcile. [doc 08]
  • UI architecture: bind _current only, one axis-agnostic generic drill.vue, badges, FAIL-never-green, new-axis-renders-with-no-code; source UNVERIFIED. [doc 09]
  • Migration path (6 shippable phases) + ordered T1 backlog STEP 1–10 with DDL sketches. [doc 10/11]

Classification (headline)

  • P0: canonical _current+guard (ARCH_GAP); registry-drive/kill-UNION (ARCH_GAP); full-population invariant + 12 v1 violations (ARCH_GAP/HARD_BUG); computed proof / literal-PASS (HARD_BUG).
  • P1: full reliability fields + detector joins; axis_registry binding/governance cols; register 3 synthetic axes; gov_sync + STALE label; version lifecycle; UI bind _current+badges.
  • P2: adapter freshness/propagation; scanner-log reconcile; PXT static-literal refactor; phantom/MTX cleanup; view-nesting/sprawl.
  • P3 (NOT T1): president votes, owners, REAL_RUN flips, UI operator deploy, kb_sop full adapter.

What T1 must fix next

STEP 1 (_current+guard) → STEP 2 (invariant) → STEP 3 (computed proof) = trust-critical, deployable-today, birth-free. Then STEP 4–6 (registry binding + full reliability + kill UNION). Regression test: _current→v1 ⇒ 12 FAIL; _current→reliability ⇒ 0 FAIL.

What must be labeled until fixed

Synthetic/derived axes; PXT stale literals (STALE); trigger 525 DB-only (PARTIAL); all nodes CANDIDATE/0 official; bound contract is stale v1 until _current.

More live checks needed?

No additional DB checks for the design. One deferred to T1: UI source grep (no _vN, no axis_code switch) — UNVERIFIED_SOURCE_ACCESS this run.

Safety / no-fake

PASS. Read-only confirmed; official RP 0 preserved; ownership/votes/REAL_RUN 0; birth_registry untouched (no writes); divergences labeled; no Nuxt math introduced. Design is birth-free and reversible by construction.

Report path

knowledge/dev/reports/architecture/parallel-terminal2-rp-canonical-contract-design-alignment-technical-spec-2026-06-05/00..12

Next macro

T1_RP_CANONICAL_CONTRACT_AND_INVARIANT_AND_COMPUTED_PROOF_IMPLEMENTATION (STEP 1–3 P0) ‖ T1_RP_REGISTRY_DRIVE_AND_RELIABILITY_HARDENING (STEP 4–6 P1). Authority track unchanged (president/owners/operator).

Back to Knowledge Hub knowledge/dev/reports/architecture/checkpoint-parallel-terminal2-rp-canonical-contract-design-alignment-2026-06-05.md