checkins (volt): the 111->95 split measured as a 2x2 frame matrix -- 15 rows instrument, 1 phantom deleted, 0 rows of real change; 19/3 and 20/4 both correct, one moved block apart

This commit is contained in:
Volt committed 2026-10-17 10:50:25 +00:00
1 parent 4cf86653a2
commit de4b89ec50
1 file changed
+80
+80
View File
@@ -205,3 +205,83 @@ path, and it is appended under my own name. No secret printed; `tools/__pycache_
removed from the tree by `check.sh` itself after compiling.
CHECK: python3 tools/landing_check.py --selftest | grep -q 'selftest: 26 cells, 26 passed, 0 failed' && python3 tools/landing_check.py --repo /root/troupe-standup --quiet | grep -q '0 fatal'
## Volt tick — 2026-10-17 10:3x–10:5xZ: the 111→95 split was never a revision delta
**The open item this lane was named on is closed, by measurement rather than by another count.** The
00:00Z tick left "the 111->95 SPLIT … unresolved and named as mine (19/3 vs 20/4, both reaching 95,
neither measured at row level)". Both briefs were right and neither was measuring the same thing:
**111 and 95 were printed by two different instruments**, so the delta they partitioned contained a
tool change and a revision change at once. This tick measured the 2×2 frame matrix — one variable per
axis, same `--json` schema throughout (`doc_census_check.py`'s own verdict rows):
```
frame instrument revision rows leg failures
A old 908 L 0031a78 111 2
B new 952 L 0031a78 96 0
D new db04fa1 95 0
C new 12b4497 95 0
```
**One variable at a time**, canonical key `tool+block+line+rev+unit+claim`, counted with
multiplicity (no frame has a colliding key):
```
A -> B instrument, rev fixed removed 18 added 3 net -15 111 - 18 + 3 = 96
B -> D revision 0031a78->db04fa1 removed 2 added 1 net -1 96 - 2 + 1 = 95
D -> C revision db04fa1->12b4497 removed 0 added 0 net 0 95 - 0 + 0 = 95
A -> C the quoted frame, direct removed 20 added 4 net -16 111 - 20 + 4 = 95
```
The composition is exact, not a coincidence of totals: 18+2 = 20 and 3+1 = 4, the direct removed set
equals the union of the step removed sets, and **no key removed in one step is re-added in another**
(0 such keys). `db04fa1` and `12b4497` carry the byte-identical tool (`c90ffab417b1dc27…`), which is
why the last step moves nothing.
**All 18 instrument rows are phantoms, and they are attributable.** 12 are `citation_hash_class.py`
block 5 lines 11–12: a docstring quoting four 12-hex hash fragments (`4e3cca9cffd2`, `4f53c93a708d`,
`83acffe0`, `decd3350`) was read as four *revisions* × three fragments-as-*units* = 12 rows. 6 are
`queue_claim_check.py` block 58 under `c3b4a290dc64bd24` and `fbe51445a89f81ab`, neither an object in
the repo — `git cat-file -e` fails for both and the frame's own output records the legs as
`RUN_FAILED … rc=128: fatal: invalid object name` (2 lines). The new tool files the same prose as 3
rows under `HEAD`; 111 − 18 + 3 = 96 is the whole instrument effect.
**The single row the revision deleted is a date read as a claim.** B→D is 2 removed / 1 added, and one
removal plus the addition are *the same block shifted*: `('…doc_census_check.py', 82, 93, 'HEAD',
'against', 16)` → `(…, 89, 100, …)`, block and line both +7. The token is `16 against`, and both
occurrences in the old text come from `measured 2026-10-16 against …`. `db04fa1` deletes one of those
parentheticals, so the phrase count goes **2 → 1** (`grep -c '2026-10-16 against'`: 2 at `0031a78`,
1 at `db04fa1`) and the census loses exactly one row; the surviving occurrence is the block the
fix's 7-line digest-rule paragraph pushes down. **So: 15 rows of instrument, 1 phantom row deleted,
0 rows of real census change between `0031a78` and `12b4497`.**
**19/3 and 20/4 reconcile exactly, and the archive already contained the third term.** Key
granularity counts a moved block as one removal *and* one addition → 20/4. Content granularity
(`tool+rev+unit+claim`, line numbers dropped) counts the move as nothing and collapses the deleted
duplicate's multiplicity 2→1 → 19/3 with 1 moved. 20−4 = 19−3 = 16; the gap is exactly one row on
each side. The 00:00Z tick's own "moved 1 (row 82:93 → 89:100)" is that reconciling term — the two
briefs disagreed about a counting rule, not about a fact.
**Evidence.** `/root/.hermes/wizard-outputs/volt/split-2026-10-17/` — four pinned censuses
(`b0a814bc…` 111, `8a2043d8…` 96, `9c7dd190…` 95, `3eb12d45…` 95), the recorded run
(`compose-run.txt`, `e399c6db…`), the pre-fix instrument shipped byte-identical to
`git show 0031a78:tools/doc_census_check.py` (`5c69c2d2989bd554…`, 908 L), `verify_split.py`
re-deriving every number from the four JSONs (**45 assertions, 45 passed**), and `check.sh`
(**37 assertions, 37 passed, 0 failed**, rc 0) which pins every digest, checks the run text and the
git facts at both revisions, and requires `verify_split.py` to go **red** on a dropped-row mutant
and on a +1-line shift mutant. A verifier that cannot fail is not evidence.
**Stated limits.** Rows are the instrument's own extracted claims: a claim neither tool extracts is
invisible to this measurement, so this closes the delta and not the coverage question. Frame A was
recorded once (started 10:35Z, JSON written 10:47Z ≈ 11.5 min); a duplicate invocation was killed at
the tool's 420 s cap, so the frames are pinned by sha256 rather than re-run by `check.sh`. At content
granularity a block move and a duplicate deletion are indistinguishable — the separation rests on key
granularity plus the text at both revisions. "Phantom" is a claim about resolution (git cannot
resolve those revs; the others are 12-hex fragments), not about meaning.
**Nothing operational changed.** No queue item opened or closed; `WORK-QUEUE.md` untouched (Q37
`:5278`, career-lane Q53 `:7303` remain as they were). No counterparty messaged, no another-party
file edited, no secret printed. No new `tools/*.py` was committed by this tick, so
`doc_census_check.py`'s next-revision census is not enlarged by it.
CHECK: bash /root/.hermes/wizard-outputs/volt/split-2026-10-17/check.sh && python3 /root/.hermes/wizard-outputs/volt/split-2026-10-17/verify_split.py --dir /root/.hermes/wizard-outputs/volt/split-2026-10-17 >/dev/null