- [x] 1.1 (P) Canonical trace schema in the core package with deterministic serialization
- Define the trace record (entry, hops with call-target completeness, operation, witnesses, guards, completeness reasons, judgment, digests) as a frozen, family-agnostic contract.
- Done when a fixed trace serializes to byte-identical canonical output on repeat runs and a conformance test pins the schema.
- _Requirements: 1.1, 1.2_
- _Boundary: core trace contract_
- [x] 1.2 (P) Three-way verdict vocabulary and verdict contract
- Define unguarded/discharged/indeterminate, the proven-claim-with-witness vs bounded-silence verdict, and the rule that indeterminate never converts to clean.
- Done when unit tests cover all three judgments, the conversion refusal, and zero-shot-judge-over-trace as the only model role on verdicts.
- _Requirements: 2.1, 2.2, 5.1, 5.2, 9.1_
- _Boundary: core verdict contract_
- [x] 1.3 (P) Coverage accounting schema with instrument refusal
- Define entry-recognition coverage, exactly-one-bucket-per-call resolution outcomes, named unchecked reasons, and zero-byte/unreadable input as an instrument failure at core level.
- Done when a zero-byte read fails the run in a unit test and the bucket exclusivity is pinned.
- _Requirements: 3.1, 3.2_
- _Boundary: core coverage contract_
- [x] 1.4 (P) Provenance digest stamping with mismatch refusal
- Define the analyzer/fact/acquisition/configuration/population/input digest stamping and refusal when any digest cannot be re-derived.
- Done when a mismatched digest is refused in a unit test.
- Fit complexity to reply time on the dev (483-change) and pilot (264-change) record sets as measurement only; publish per-class budgets with n, percentile, and hardware; make the budget configurable per class, demoting the static constant to provisional default.
- Done when the derivation table (class, n, percentile, hardware, budget) is published under the fixed measurement schema and a new-baseline note records the change.
- Move the ordered refusal chain (malformed, producer, unreviewed, label-isolated, label-exposure, acquisition-changed, spent) into the core admission contract; the benchmark validator becomes a thin wrapper.
- Done when all refusal branches pass unit tests through the core contract.
- Re-run the pilot admission through the core contract and reproduce 0/12 pairs, 0.83 flagged/100, 0 instrument failures, NO-GO exactly.
- Done when the reproduced report matches the committed 2026-10-30 report field-for-field.
- _Requirements: 7.3, 12.1_
- _Boundary: admission measurement_
- _Depends: 4.2, 3.2_
- [ ] 5. Anti-shortcut probes for any fitted component
- [ ] 5.1 (P) Reversed-pair probe harness
- Build the fix/reversed-fix probe; the deletion-count shape feature must fail it (control test).
- Done when the control probe fails a shape-only component and passes a relation-based one.
- _Requirements: 8.1, 8.2_
- _Boundary: core probes_
- _Depends: 1.2_
- [ ] 5.2 Fitted-component gate
- Require per-repository holdout and untouched-population admission before any fitted component makes a claim; BLOCK reserved for demonstrated proofs.
- Done when a fitted component without admission evidence is refused by the gate in a test.
- _Requirements: 8.2, 9.2_
- _Boundary: core probes + admission_
- _Depends: 4.1, 5.1_
- [ ] 6. Fact packs and consumer interfaces
- [ ] 6.1 Fact-pack admission contract
- Ruleset loader admits family fact packs only with review evidence and provenance stamping; packs carry their family tag.
- Done when an unreviewed pack is refused and a reviewed pack stamps provenance in a test.
- _Requirements: 10.1_
- _Boundary: fact-pack contract_
- _Depends: 1.4_
- [ ] 6.2 Consumer interfaces for push and proof
- Define the interfaces through which the pre-push transaction consumes traces/verdicts within its deadline and the proof layer attaches demonstrated evidence to a verdict; existing arms express behavior over the core contract.
- Done when both interfaces are exercised by conformance tests from a mock consumer.
- Migrate development_runner, arm_regression, prover_arm, run_manifests onto the core contracts one at a time, re-running the regression suite after each.
- Done when all runners consume the core contracts and the keyword regression passes at the pre-migration count plus new tests.
- _Requirements: 3.1, 4.1, 4.3, 6.1, 11.3, 12.1_
- _Boundary: benchmark runners_
- _Depends: 2.3, 3.2, 6.2_
- [ ] 7. Validation
- [ ] 7.1 Fixed measurement schema enforced in reports
- Every report carries population/freeze digests, judgment vocabulary, rates with n and Wilson 95, coverage, instrument failures, runtime; vocabulary/population change starts a new baseline.
- Done when a schema-validation test rejects a report missing any field and accepts the 2026-10-30 report.
- _Requirements: 12.1, 12.2_
- _Boundary: measurement schema_
- _Depends: 4.2, 6.3_
- [ ] 7.2 End-to-end: one push through core to verdict to admission report
- Run one dev-pool push end-to-end: scope, recognize, resolve, trace, verdict, digests, admission report on the dev pool.
- Done when the E2E test produces a verdict with witness or bounded silence plus a complete report.