docs(accounting): the judge names the fidelity it does not check

Green: 112 passed in the gate's own file. The docstring now says what the two
routes do NOT reach -- neither decodes a pixel, so a converter writing a blank
PNG is accepted, and "claiming a conversion it did not perform" means claiming
one whose FILE is missing, never one whose pixels are wrong.

Teaching the judge pixels is a different job and is not this order. Leaving a
reader of the gate to infer the gap was the defect.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-19 09:31:50 +02:00
commit 76e407f368
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q

View file

@ -440,6 +440,16 @@ def asset_holds(build: Build, source: Path) -> bool:
says were written. A bundle claiming a conversion it did not perform still
fails, which is the difference between reading the bundle and believing
the report.
WHAT NEITHER ROUTE PROVES IS FIDELITY. Both ask whether a file in
`assets/` holds the bytes the bundle names, and neither decodes a PIXEL:
measured 2026-09-19, a mutated converter that writes a BLANK PNG is
accepted here, because the bundle is internally consistent -- the digest
it claims to have written really is the asset's digest -- and nothing in
this gate compares that picture with the source's. The suite fells that
mutant by decoding both sides; the judge cannot. So "claiming a conversion
it did not perform" means claiming one whose FILE is missing, never one
whose pixels are wrong.
"""
digest = _sha256(source)
if any(