You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
R3-3 tool half: t27c run-record reports the independence level from independence.t27 #7600
Part of epic #6655, Round 3 item R3-3. The contract specs/verified/independence.t27 landed in #7516 (#7497). That issue names the tool half as a later slice: "generated Rust in t27c and thin glue reading three receipts". This is that slice.
Goal
t27c run-record reports whether a run's three placements are independent evidence, judged by independence.t27. Today it reports authentication (FRESH) and the die level (NAMED), but not whether the three placements ran on distinct dies.
Boundary
bootstrap/gen/rust/verified/independence.rs: t27c gen-rust specs/verified/independence.t27, never hand-edited.
bootstrap/src/main.rs: the #[path] module line.
bootstrap/src/service.rs: run-record glue only.
bootstrap/tests/signed_receipt_reader.rs: tests and the drift check.
Hand-written foreign code stays inside the own-language budget: at most 40 lines per file and 80 per diff.
No change to independence.t27 or any other spec. No gate files. No exit-code change: independence is reported, not yet required.
User Scenarios & Testing
Given three FRESH, DIE_NAMED receipts naming three distinct dies under one key, run-record prints Independence: INDEP_DIES.
Given three such receipts naming one die, it prints INDEP_NONE with first missing INDEP_SHARED_DIE (5).
Given v1 receipts with no DNA, it prints first missing INDEP_DIE_UNNAMED (3).
The verifier has no roster, so every key is ROSTER_NONE and INDEP_OPERATORS is never printed.
Requirements
FR-1: the decision is indep_first_missing / indep_level from the generated Rust; the glue only parses the receipts' device_dna and key_id hex and passes them in.
FR-2: the checked-in Rust is byte-identical to t27c gen-rust specs/verified/independence.t27, pinned by the existing drift test.
Success Criteria
cargo test --release -p t27c --test signed_receipt_reader passes, including independence_needs_three_distinct_dies.
cargo test --release -p t27c --test run_record_reader passes.
A mutant that zeroes the parsed DNA fails independence_needs_three_distinct_dies.
lefthook run pre-push passes: own-language and foreign-budget.
Activity