Q130's closed-artifacts leg added "path": os.path.join(...) to verify.py's LEGS, so ast.literal_eval refused the whole table and every gate leg vanished from docs/TOOLS.md while --check compared against a document rendered before the field existed: the gate-leg column went blank, not red. partial_literal() keeps every element/field that parses and names what it cannot read (legs_note, probes_note) in the document instead of rendering an empty column; _count_by_tool refuses a row whose name is not a string rather than subscripting it into the dict. Selftest 20 -> 23 cells, pin moved with it, docs/TOOLS.md re-rendered (23 tools, 10 gate legs).
35 lines
1.3 KiB
Plaintext
35 lines
1.3 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
|
|
import_resolve_check.py 38 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 80 cells
|
|
reply_check.py 49 cells
|
|
selftest_sweep.py 49 cells
|
|
served_drift_check.py 25 cells
|
|
tool_map.py 23 cells
|
|
verify.py 59 cells
|
|
write_probe.py 15 cells
|