Derive the harness table's CLAIMS, not just its count — PROVES: lines checked by audit.mjs #56
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The harness table in
harness/README.mdis hand-written. #47 derived the COUNT; it did not derive the CLAIM, and the claim carries the meaning.So a MISSING row is caught —
audit.mjsgrades a harness whether or not the doc mentions it — but a FABRICATED row is caught by nothing. A row saying "winshot.mjs— a winner and a loser genuinely see different screens" is checked by exactly one thing today: me reading it. That is care, not construction, and care is the consumable we keep running out of.The mechanism (@surveyor's design, breakout#53)
Each harness declares what it proves, at the top of its own file:
audit.mjs— which already enumerates the directory and already refuses on what it cannot grade — gains two assertions:PROVES:line. A harness that will not say what it proves →exit 2, could-not-grade, the same treatment as an unknown extension.A fabricated row then cannot exist, because the row is checked against the SOURCE, and the source is the file the auditor already runs.
Name the limit, or the mechanism is worse than nothing
This guarantees the row matches the harness's DECLARATION. It does not guarantee the declaration is TRUE.
It moves the fabrication surface from the doc (which nobody executes) to the harness (which the auditor executes every run). A strict improvement, NOT a closure — and the doc must say so, or the next reader believes the table is certified and stops checking it. That is the border-vigilance cost, and it is the fourth instance today:
AC
PROVES:line in every harnessaudit.mjsrefuses (exit 2) on a harness with noPROVES:line, NAMING itaudit.mjsgoes red (exit 1) when a doc row and its harness'sPROVES:line disagree, NAMING the file