Record v3.12.0, and why the audit method missed all twelve findings - #79
Merged
Conversation
The record the release page already links to. Archive digests were verified by downloading each archive and hashing it, not by quoting GitHub's own report of them. It states the exemption this release cannot claim. v3.11.2 could say it changed neither detection nor conversion policy; this one changed ConversionPolicy, so the checklist asked for a corpus run and none was made. That is recorded as a gap rather than filled with the v3.11.0 figures. The section on what this says about these records is the point of writing it. The corpus harness does convert and does compare decoded source against strict output, so "it only measures detection" would have been the comfortable answer and the wrong one. All three defects that touched files sat outside its reach for three different reasons: the alias defect preserves text perfectly and so passes every comparison the harness makes, the 64 KiB defect needs a file shape no corpus contains, and the preview defect lives in a mode the harness does not run. It also records that the review over-rated four of its own findings and that the reader caught each one, because a record that only lists what the review got right is the kind of record this file exists to stop. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
The
docs/SAFETY-AUDIT.mdrecord for v3.12.0, which the release page already links to. One file, 43 insertions, no deletions.It arrives after its own tag for the reason this file already documents: committing it changes the assembly through the PDB checksum, so recording it first would publish artifacts naming a hash they do not contain.
What it records
The exemption this release cannot claim. v3.11.2 could say it changed neither detection nor conversion policy. This one changed
ConversionPolicy, so the checklist asked for a corpus run and none was made. Recorded as a gap rather than filled with the v3.11.0 figures.Archive digests, verified rather than quoted. Both archives were downloaded and hashed locally; both match GitHub's reported digests.
Why the audit method missed all twelve findings. The comfortable answer — "the corpora only measure detection" — is false: the harness converts, and compares decoded source text against strict output. The true answer is that the three defects that touched files sat outside its reach for three different reasons:
-Plan, a mode the harness does not run.A corpus run at full marks would have said nothing about any of the three.
That the review over-rated four of its own findings, and that the reader caught each one rather than the review catching itself — one mechanism proved with an input built to prove it, then described for significance without checking what the product does with such an input. Two were downgraded after measurement against realistic files, one withdrawn once its fix was shown to break four existing tests, one withdrawn once what EC actually reports was checked.
Limits it records
No corpus run against a checklist that asked for one; unsigned archives, signing skipped for the second release running; the preview fix being decode-only; unreadable directories still exiting 0; the four findings left open, including the BOM-less UTF-16 file that can be detected as UTF-32 and converted silently; and no accessibility spot check on file.
Verification
Documentation only — no code, no tests, no behaviour. CRLF and the file's no-BOM choice preserved; the diff is a pure insertion between the v3.11.2 record and
## Known limits. The heading generates exactly the anchor the release body links to.🤖 Generated with Claude Code