KB-2C6B
Supertrack N — Proposal Package (P-01..P-04)
8 min read Revision 1
fix7architecturet1-reviewproposal-packagesupertrack-n
14 — Supertrack N: proposal package
Four proposals. P-01..P-03 are blocking-for-final-approval and surgical (all inside CP-06 hash doc
…/codex-fix7-spec-artifact-correction-from-t1-proposals-2026-06-07/07-cp06-canonical-hash-encoding-order-numeric.md).
P-04 is advisory (RP-03 doc). None introduces a new authority surface, gate, hash contract, or
runtime table. T1 supplies the unambiguous values found during review so the next Codex cycle is
fast. T1 does not edit Codex docs.
P-01 — Pin H04 evidence-hash keys to the named source column (fix internal contradiction)
- Severity: LOW (blocking-for-final-approval; one-line correctness fix)
- Affected docs: CP-06 doc 07 ("Runtime-Evidence Column Bindings"); cross-check CP-08 doc 09.
- Affected layer: H04
incomex.qt001.signoff-binding.v1payload binding. - Current issue (contradiction): doc 07 states "all remaining H04 keys map one-to-one to named
signoff_bindingcolumns," butreviewer_evidence_hashandbinding_evidence_hashare SHA-256 values while the columns arereviewer_evidence_id/binding_evidence_id(uuid FKs). There is nosignoff_binding.*_evidence_hashcolumn. As written, an implementer could hash the UUID instead of the evidence content. - Proposed correction: state the dereference explicitly —
reviewer_evidence_hash = evidence_registry.artifact_sha256whereevidence_registry.evidence_id = signoff_binding.reviewer_evidence_id; likewisebinding_evidence_hashviabinding_evidence_id. (artifact_sha256is the unique content-hash column onevidence_registry, confirmed in CP-08 doc 09 — so the source is unambiguous.) - Why needed: "every H04 sub-payload key resolves to a named table.column" is the explicit acceptance gate; 2/15 keys currently do not, and the doc's claim about them is false.
- How Codex should verify: for every H04 key, assert a resolvable
table.column(with the evidence keys resolving through the FK toevidence_registry.artifact_sha256); recompute H04 on a fixture and confirm a change to the referenced evidence'sartifact_sha256changes the digest. - Blocks final approval: YES.
P-02 — Pin signoff_binding.scope_hash canonical composition
- Severity: MEDIUM (blocking-for-final-approval)
- Affected docs: CP-06 doc 07 (add scope_hash composition to Total Orders / a "scope_hash" note); ties to RP-06 doc 03 and CP-09 doc 10.
- Affected layer: signoff write path determinism; H04 slot-key exclusion; RP-06 slot hash-binding.
- Current issue: doc 07 says H04 may omit slot metadata "only if
scope_hashcanonically includes quorum profile, principal class, slot ordinal, and action" — a condition, never a pinned definition. The control plane cannot computescope_hashdeterministically, and H04's slot-exclusion + RP-06's slot-binding are asserted, not demonstrated. - Proposed correction: define
scope_hashas a canonical SHA-256 over an explicit ordered key list — minimally{quorum_profile_id, required_principal_class_id, slot_ordinal, action_id}, and state explicitly whethertarget_id/plan_content_hashare included — under the same CP-06 encoding rules; OR, if simpler, add the four slot keys directly to the H04 published key list and drop the conditional. Either makes the slot provably hash-bound. - Why needed: determinism of the signoff write path and a real (not asserted) slot-binding that closes the same-human/slot bypass RP-06 targets.
- How Codex should verify: recompute
scope_hashon a fixture; confirm changing slot_ordinal / principal class / action / quorum profile changesscope_hash(and thus H04); confirm two independent builds produce identicalscope_hash. - Blocks final approval: YES.
P-03 — Enumerate total orders for the new runtime aggregates
- Severity: MEDIUM (blocking-for-final-approval)
- Affected docs: CP-06 doc 07, "Total Orders" section.
- Affected layer: H05
measurements, H05artifacts; H02capability_evidence_hashes, H02post_activation_verifier_state. - Current issue: the section enumerates 6 total orders (incl. signoffs) but omits these four
newly-bound runtime aggregates. The general rule ("every
jsonb_agghas an explicit total unique ORDER BY ending in immutable UUID/item ID") guarantees a total order exists, not which one; two implementations choosing different valid orders compute different digests — the determinism loop RP-01 set out to close. - Proposed correction: add one pinned canonical order per aggregate, each ending in the row's
immutable PK, e.g.:
capability_measurement(H05measurements):(measurement_requirement_id, measured_at, measurement_id)capability_artifact(H05artifacts):(artifact_requirement_id, created_at, capability_artifact_id)capability_run(H02capability_evidence_hashes):(capability_id, finalized_at NULLS LAST, run_id)post_activation_verifier_state(H02):(activation_id, verifier_principal_id, verifier_state_id)(Codex owns the exact tuples; the requirement is that each is a pinned, total, unique order underCOLLATE "C".) Also confirm the membership predicate (which rows belong to each aggregate) is pinned — e.g., measurements/artifacts scoped to theirrun_id, control-state sets scoped to the activecontrol_epoch.
- Why needed: deterministic, reproducible H05/H02 digests across implementer and verifier.
- How Codex should verify: CP-06 determinism fixture — reorder rows on input, confirm the digest is unchanged for each of the four aggregates.
- Blocks final approval: YES.
P-04 — State benign-extra-constraint disposition in RP-03 expected-constraint check (ADVISORY)
- Severity: ADVISORY (does not block final approval)
- Affected docs: RP-03 doc 06; #20 verification logic.
- Affected layer:
OBJECT_AUTHORITY_IMMUTABLEboth-EXCEPT constraint comparison. - Current issue: doc 06 fails on missing/extra/changed authority-relevant constraints but is silent on an extra benign non-authority index on a control-plane table, and does not define which classes are "authority-relevant." T1's RP-03 refinement left this to Codex's choice with default FAIL.
- Proposed correction: state explicitly (a) the authority-relevant constraint classes (PK/UNIQUE/FK/CHECK) and (b) the disposition of an extra benign index — fail-closed, or explicit operator-quarantine — so there is no definitional gap.
- Why needed: removes a small fail-closed ambiguity; keeps the constraint contract total.
- How Codex should verify: rehearsal — add a benign non-unique index to a control-plane table; confirm the specified disposition (FAIL or quarantine) actually fires.
- Blocks final approval: NO.
Summary
- Blocking-for-final-approval: P-01, P-02, P-03 (all CP-06 doc 07; no new surface/gate/hash/table).
- Advisory: P-04 (RP-03 doc 06).
- After Codex applies P-01..P-03, T1's short re-review confirms H04/H05/H02 byte-implementability →
DESIGN_READY_FOR_CODEX_FINAL_APPROVAL.