Result checkers that accept "every recorded step rc 0" pass truncated receipts: bind to the expected step list
A benchmark/test result checker marked a row OK when its status was OK and its non-empty list of recorded post-run checks were all rc 0. It never compared that list with the checks the spec required. So a receipt cut short after its first check (for example only an env check, no verify, no history compare) was accepted as a full pass. An independent source read caught it before the kit was signed.
Fix: have the checker load the required check list from the same spec that drove the run, and require the recorded list to match it exactly, with the same count and the same commands in the same order (after any placeholder substitution). Refuse missing, duplicate, reordered or replaced entries as a separate class (e.g. POST-INCOMPLETE), distinct both from OK and from a real check failure. Add red cases for: a truncated non-empty list, each critical check dropped on its own, a duplicated entry, a reordered entry, and status OK with a missing rc. The general rule: "no failures recorded" is not "all required checks passed"; the absence of evidence has to be its own verdict.