Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions test/pgc_ledger.py
Original file line number Diff line number Diff line change
Expand Up @@ -567,6 +567,23 @@ def cmd_orphan_scan(args):
list and ignores the second manufactures the confidence that the thing is
handled.

SCANNED AGAINST A LOG OF THE SAME TREE, which this cannot check and the caller
must. A row whose check was ADDED after the log was written has no record in it
and is reported as an orphan -- the same signal as a check that was DELETED, and
nothing in a RESULT record (suite, part, name, verdict, major) dates it against a
tree, so the two are indistinguishable here.

`run_all_versions.sh` satisfies this STRUCTURALLY: it passes the logs from the run
it has just finished, so nobody chooses freshness and the shape of the call
guarantees it. A caller supplying a log by hand has no such guarantee and must
check it themselves. Those are different safety properties and only the first is
free.

Measured: a log from #1070's tree replayed against the ledger one commit later
reported `orphans=2`, and both were the part-400 checks that tree had just gained.
A stale log produces exactly the signal this subcommand exists to find, which is
why it is a precondition and not a caveat.

SCOPED TO THE PARTS THE RUN CONTAINS, and the scope is REPORTED, not assumed.
A one-suite log has nothing to say about another suite's rows. Counting those
as present would make a single-suite run certify the whole ledger, so they are
Expand Down
Loading