checkin 2026-10-18 (volt): doc_census_check --fail landed, and its first armed run found a false claim (ACS-only)
This commit is contained in:
1 parent
26056d2a21
commit
9998c85059
1 file changed
+83
@@ -340,3 +340,86 @@ Artifact: `/root/.hermes/wizard-outputs/volt/2026-10-18-doc-census/`
|
||||
(`census-head.txt`/`.json` pre-fix, `census-head-tightened.txt`/`.json`
|
||||
post-fix, `diff.txt` row-by-row, `vocab-before.txt`/`vocab-after.txt`,
|
||||
`sweep-after.txt`).
|
||||
|
||||
# Check-in — Volt, 2026-10-18 (07:0x–07:4xZ, appended; the blocks above stand)
|
||||
|
||||
## Did
|
||||
|
||||
Closed the gap this file named at 04:55Z — *"it has no `--fail` … a gate cannot
|
||||
fail on the class this tool exists to catch without parsing its text."*
|
||||
`tools/doc_census_check.py` now carries the gate: `26056d2`, +147/−3, blob
|
||||
`sha256 731d9073a99f5cf56c70fef4d6ac204248964f7f1e77ed1e40b752993987e332`.
|
||||
|
||||
rc 0 ran, graded no fault rc 1 ran, graded a STALE or a SPLIT
|
||||
rc 2 could not grade (usage, --tools matches nothing, unreadable)
|
||||
|
||||
A leg failure is reported in its own column and never spent as a claim defect:
|
||||
a leg that produced no census adjudicated no claim. `--selftest` 41 → 52 cells;
|
||||
four of the new cells pin the **process** exit code on stub repos, because a
|
||||
helper returning 1 proves nothing about a gate.
|
||||
|
||||
**The gate's first armed run went red — on a false claim, not a defect.**
|
||||
`queue_claim_check.py`'s axis list says `39 ACS-only lines`, `12 ACS-only
|
||||
lines`, `1 ACS-only line` — three sub-counts of one population of 52 — and the
|
||||
token read as a unit was the adjective `ACS` in `ACS-only`, splitting 39/12/1:
|
||||
|
||||
SPLIT ACS [no rev named] (LABEL_ONLY): 39@83, 12@86, 1@87 # rc 1
|
||||
(no-run.txt)
|
||||
|
||||
Fixed in the same commit: a unit immediately followed by `-` is a compound
|
||||
adjective, not a unit — the refusal the reader already made for `120-char`.
|
||||
Same rev after: `0 INTERNAL SPLIT`, `OK` (no-run-after.txt).
|
||||
|
||||
**The cost is measured, not asserted.** Row-level `--json` diff before/after
|
||||
(`diff_claims.py`): 6 claims no longer read — `queue_claim_check` 23 → 19,
|
||||
`checkin_check` 8 → 7, `queue_index` 10 → 9; 5 NOT_PRINTED + 1 REV_UNCHECKED;
|
||||
every lost token is the first half of a compound (`ACS-only`, `check-in`,
|
||||
`self-test`, `follow-on`). The invariant that licenses it: **MATCHES 26 before
|
||||
and 26 after, identical rows**. One real count is caught in the net —
|
||||
`69 check-in files` at `checkin_check.py:12` — whose unit word (`files`) was
|
||||
already being misread, and which was REV_UNCHECKED anyway. A genuinely
|
||||
hyphenated unit (`citations-per-block`) is now unread; stated in the docstring.
|
||||
|
||||
**A second defect the two runs exposed, named not repaired:** on the pre-hyphen
|
||||
build the gate's verdict depended on the mode. HEAD, one tool: run mode
|
||||
`--fail` printed `(not flagged: 1 split(s) in units NOT_A_CENSUS_UNIT)` and
|
||||
**rc 0**; `--fail --no-run` printed the split and **rc 1** (mode-*.txt in the
|
||||
artifact). The gate passed in the mode that spends the verdict and failed in
|
||||
the mode that only labels it. Both modes agree at 0 after the fix, because the
|
||||
false claim is no longer read — the asymmetry itself is unrepaired and said so.
|
||||
|
||||
**Gates re-run after the change:** `--selftest` 52/52 rc 0; `--fail` at HEAD —
|
||||
12 tools, 0 INTERNAL SPLIT, 0 STALE, **rc 0** (gate-HEAD-full.txt, ~6 min);
|
||||
negative tooth `fca3f2e --tools tools/citation_resolve_check.py --fail` — 1
|
||||
split + 1 STALE, **rc 1**, and the STALE is a real pre-existing docstring
|
||||
defect (`UNRESOLVED claimed 441 at babdadc — printed 471`), not a fixture;
|
||||
`sweep` 12 tools OK (52 claimed / 52 printed), read-refusal 17/17,
|
||||
malformed-input 15/15, rc 0. The pre-tightening build at `4ce1aed` still
|
||||
reproduces rc 0 with 2 STALE (historical-stale-pretightening.txt) — cited with
|
||||
its build, never as current behaviour.
|
||||
|
||||
Artifact: `/root/.hermes/wizard-outputs/volt/2026-10-18-census-fail-gate/`
|
||||
(REPORT.md, before/after census `--json`, the two mode runs, the tooth runs,
|
||||
the sweep log, SHA256SUMS).
|
||||
|
||||
## Blocked
|
||||
|
||||
Nothing blocks. Two limits stated rather than discovered later: the full gate
|
||||
run is ~6 minutes over 12 tools, and nothing in the repository invokes `--fail`
|
||||
yet — the gate is armed, not wired.
|
||||
|
||||
## Next
|
||||
|
||||
- Wire `--fail --no-run` (fast, ~0.2 s) into whatever runs
|
||||
`selftest_sweep.py`, so the sweep's 12/12 and the census's 0/0 are one
|
||||
command. That is a one-line change to a runner nobody owns yet; propose it
|
||||
rather than take it.
|
||||
- The `NOT_A_CENSUS_UNIT` vocabulary is the next precision question (see Ask).
|
||||
|
||||
## Ask
|
||||
|
||||
- Should `--fail` in **run** mode spend a split in a unit outside the census
|
||||
vocabulary? Today run mode calls it advisory (`not flagged`) and `--no-run`
|
||||
calls it fatal, which is the asymmetry measured above. Repaired the false
|
||||
positive that surfaced it; the policy is a human decision, not mine to make
|
||||
in a tool default.
|
||||
Reference in new issue
Block a user