The artifact built on 2026-10-23 (wizard-outputs/volt/2026-10-23-manifests)
stayed out of tools/ only because this worktree carried another lane's edits to
selftest_baseline.tsv. tools/ is clean at HEAD, so it graduates.
- tools/manifest_audit.py: byte-identical logic to the artifact (sha256
7e495ada...), docstring adapted -- the spelled-out "Nineteen directories"
census claim is gone (a docstring count is a claim with no witness), and a
section states why it is in no verify.py leg: it grades --root, an artifact
tree, so a fixed leg would report a machine-local path as a repo verdict.
- selftest_sweep.py: 3 probe rows. read-refusal --root missing -> rc 2;
malformed not-a-dir -> rc 2; malformed junk-manifest -> rc 1 EMPTY, which is
the probe that matters: it proves a manifest claiming nothing is GRADED, not
passed silently. New {junkmanifest} fixture (a root whose files.sha256 parses
as no entry) + its legend line.
- selftest_baseline.tsv: one added row, manifest_audit.py 17 cells.
- docs/TOOLS.md: re-rendered (21 -> 22 tools; probes 1 / 0 / 2).
Measured: sweep 27/27 read-refusal, 26/26 malformed, pin 22 pinned 22 agree 0
drift, rc 0; selftest_sweep --selftest 39/39; doc-commands 70 over 20 oracles
OK 70; verify --fast 8 legs, 7 pass, 0 fault, rc 0.
34 lines
1.2 KiB
Plaintext
34 lines
1.2 KiB
Plaintext
# selftest_baseline.tsv -- the cell count each tool's selftest prints, pinned.
|
|
# Written by: python3 tools/selftest_sweep.py --repo . --write-baseline tools/selftest_baseline.tsv
|
|
#
|
|
# WHY THIS FILE EXISTS: the count a tool advertises lives in its own docstring,
|
|
# so a commit that deletes fixtures and decrements that number agrees with
|
|
# itself and every leg stays green. This ledger is the outside witness.
|
|
# `selftest_sweep.py` reads it on every run: a printed count that differs is
|
|
# PIN_DRIFT and fatal; a tool with no row is PIN_UNPINNED and fatal; a row
|
|
# whose tool is gone is PIN_ORPHAN and fatal. Re-pin on purpose, in the diff.
|
|
#
|
|
# tool<TAB>count<TAB>unit
|
|
append_only_audit.py 18 cells
|
|
append_only_owners.py 15 cells
|
|
census_row_delta.py 37 cells
|
|
check_lint.py 37 cells
|
|
checkin_check.py 36 cells
|
|
citation_hash_class.py 19 fixtures
|
|
citation_resolve_check.py 14 fixtures
|
|
doc_census_check.py 104 cells
|
|
doc_command_check.py 18 cells
|
|
gate_blame.py 21 cells
|
|
landing_check.py 26 cells
|
|
manifest_audit.py 17 cells
|
|
path_claim_check.py 31 cells
|
|
queue_append_audit.py 25 cells
|
|
queue_claim_check.py 24 fixtures
|
|
queue_index.py 58 cells
|
|
reply_check.py 49 cells
|
|
selftest_sweep.py 39 cells
|
|
served_drift_check.py 25 cells
|
|
tool_map.py 20 cells
|
|
verify.py 59 cells
|
|
write_probe.py 15 cells
|