Repository navigation
row 91: xtask q128 audit admits a committed record (the record is the one path that may differ from the candidate's tree) - #914
Open
MattJackson wants to merge 1 commit into
Open
MattJackson wants to merge 1 commit into
MattJackson wants to merge 1 commit into
Conversation
…he candidate's tree The audit record is committed in the tree it judges, and it names the commit it read by id. A commit cannot contain its own id, so the tree that carries the record can never equal the candidate's tree. Before this change, every committed record was judged "the audit was made on another tree". That made row 91 (Q128 audit: no BLOCK) impossible to meet with any audit. The candidate is now on this tree when its tree equals HEAD's, or when git lists the record as the only differing path. Every other path still has to be byte-identical, the audit ledger included. A git that cannot list the differing paths keeps the BLOCK. The BLOCK's evidence now names the paths that moved. RED: the_record_is_the_one_path_that_may_differ_from_the_candidate (a candidate whose tree differs from HEAD's only in qa/q128-audit.json was a BLOCK; one that also differs in the ledger or in code, or whose paths git cannot list, stays a BLOCK).
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What.
xtask/src/q128.rsand theabouttext ofqa/q128-audit.json. Before this change, a candidate counted as "on this tree" only whentree(candidate) == tree(HEAD). Now it also counts whengit diff-tree -r --name-only <candidate> HEADlistsqa/q128-audit.jsonand nothing else. Every other path still has to be byte-identical, includingqa/audit-ledger.json. If git cannot list the differing paths, it stays a BLOCK. The BLOCK's evidence now names the paths that moved (up to 10, then a count).Why. /status row 91 (Q128 audit: no BLOCK), DEV-GREEN item 5 (
docs/design/BUSBAR-1.6.0.mdl.2912-2915;.ci/predev.yamlcheckq128-audit). The record is committed in the tree being judged, and it names its candidate by a 40-hex commit id. For the old rule to pass, the candidate's tree would have to contain a record naming that same candidate, so a commit would have to hold its own hash. No auditor could ever produce such a record, and every real audit was judged "the audit was made on another tree". This change only makes the rule satisfiable. It does not weaken it: the audited code, the ledger and every other file must match the commit the auditor read.On predev 1d37d86 the check holds 2 BLOCKs, unchanged by this PR:
the audit record names no candidate commit: no audit has been recorded yet.the audit ledger is not clean: row 159 and the ledger PRs row 159: audit ledger records the finished readings (kernel-wal, kernel-identity HIGH -> 0; 19 unaudited scopes read) #820/row 159: audit ledger records the pinned-plugin, transport-webrtc and xtask readings (stacked on #820) #835/row 159: audit ledger records the transport-ws and plane-llm readings (stacked on #835) #845.RED-able test.
q128::tests::the_record_is_the_one_path_that_may_differ_from_the_candidate. Before this change, a candidate whose tree differs from HEAD's only in the record was a BLOCK. These cases stay a BLOCK: one that also differs in the ledger, one that also differs in code, and one whose paths git cannot list. Existing cells are unchanged.Ledger rows. None.