Skip to content

verify: the NON-CLAIMS block named releases that never shipped#10

Merged
Nik7A merged 2 commits into
mainfrom
verifier-non-claims-drift
Jul 17, 2026
Merged

verify: the NON-CLAIMS block named releases that never shipped#10
Nik7A merged 2 commits into
mainfrom
verifier-non-claims-drift

Conversation

@Nik7A

@Nik7A Nik7A commented Jul 17, 2026

Copy link
Copy Markdown
Owner

The paragraph that ends every verification report told the reader the three limits disqualifying this library as primary audit evidence were "fixed in v0.2", that "v0.2 closes this with the sidecar signer", and that "v0.2 adds RFC 3161 TSA timestamps". None of it shipped. README.md and ROADMAP.md have both said v0.2 closed none of them since 0.2.0 — the report contradicted both, and it is live on PyPI saying so now.

This is the worst place in the product to be wrong. NON-CLAIMS is the one paragraph an auditor reads to learn what the report does not establish, and reports are byte-deterministic precisely so they can go into an audit appendix verbatim. The false claim travelled there under a hash that matched across reviewers.

Written 2026-06-19, when v0.2 was still planned to carry the hardening. The two later passes that corrected this exact class of claim — 41076ad ("pin claims to what ships, not to v0.2") and 44d4329 ("the unshipped half of v0.2 is v0.3") — touched README.md and ROADMAP.md and missed this one, because it is a string in code rather than prose in a document.

What changes

  • The block states each limit as open, names no release, and points at ROADMAP.md.
  • tests/test_report_claims_guard.py fails on any release reference in the NON-CLAIMS section of either report shape.
  • 0.2.0 -> 0.2.1. No change to records, signing, chaining or verification logic; records written by 0.2.0 verify unchanged and the report stays byte-deterministic.

Why the guard bans every version, not just the wrong ones

The drift is structural: the docs are rewritten at each release and this constant is not. "Keep the version numbers accurate" is the rule that already failed twice. "Name no version" holds — what is unproven today is unproven whichever release closes it, and where a limit is headed belongs in ROADMAP.md, the document that actually gets updated.

The previous test asserted the block was present. Presence was never the problem: it was present, and it lied.

Found by running the verifier against a fresh chain while restarting the dogfood — not by reading the code.

Nik7A added 2 commits July 17, 2026 12:25
The paragraph that ends every verification report told the reader the three
limits disqualifying this library as primary audit evidence were "fixed in
v0.2", that "v0.2 closes this with the sidecar signer", and that "v0.2 adds
RFC 3161 TSA timestamps". None of it shipped. README.md and ROADMAP.md have
both said v0.2 closed none of them since 0.2.0; the report contradicted both.

This is the worst place in the product to be wrong. NON-CLAIMS is the one
paragraph an auditor reads to learn what the report does not establish, and
reports are byte-deterministic precisely so they can go into an audit appendix
verbatim — so the false claim travelled there under a hash that matched across
reviewers.

Written 2026-06-19, when v0.2 was still planned to carry the hardening. The two
later passes that corrected this exact class of claim (41076ad, 44d4329)
touched README.md and ROADMAP.md and missed this one, because it is a string in
code rather than prose in a document.

The block now states each limit as open, names no release, and points at
ROADMAP.md. The guard fails on any release reference in the NON-CLAIMS section
of either report: the drift is structural, since the docs are rewritten every
release and this constant is not. "Keep the version numbers accurate" would
fail the same way again; "name no version at all" holds.

The old test asserted the block was present. It was present, and it lied.
version 0.2.0 -> 0.2.1. A patch: no change to records, signing, chaining or
verification logic — only the report's NON-CLAIMS text and the test that pins
it. Records written by 0.2.0 verify unchanged, and the report stays
byte-deterministic.
@Nik7A
Nik7A merged commit 9b41ca4 into main Jul 17, 2026
1 check passed
@Nik7A
Nik7A deleted the verifier-non-claims-drift branch July 17, 2026 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant