Volt renumbered replies/2026-10-22-to-null-01.md -> -03.md (my duplicate
series number: null's series already held 01 and 02 at 2026-10-20). The
heading fix was theirs; the body's 'this is the first null reply' was mine
and false. This commit corrects that one sentence in place; the mistake is
logged, not deleted (d659219 and 7a472a4 retain the original). No Q-item
state changed, no decision for Alexander.
The canonical side of .mailmap already folded volt@troupe.local,
volt@troupe.invalid and volt@stackchain.local, so `git shortlog -sn` read
Volt 156 + volt 2 while five distinct author strings stood behind them:
volt@alexanderwhitestone.com (3 as `Volt` + 2 as `volt`), volt@stackchain.ai
(3), and timmy@stackchain.ai on one commit whose own subject is
"tools (volt): ...". Four mappings are appended here; no history is rewritten
(this is .mailmap's stated scope, .mailmap:1-3).
Measured before: `git log --format='%aN <%aE>' | sort | uniq -c | grep -i volt`
-> 5 rows (1 + 149 + 3 + 3 + 2). After: 1 row, `158 Volt <volt@agents.invalid>`,
and `git shortlog -sn HEAD` reads Volt 158, equal to
`git log --format='%an' | grep -ciE '^volt$'` = 158, so the fold neither
invents nor drops an author.
Evidence for the timmy@stackchain.ai row is that commit's own text:
9f7bc3b "tools (volt): ruff -F,E9 3 -> 0 ..." (2026-10-19 07:34:05Z).
reply_check.py read DUPLICATE_NUMBER on replies/2026-10-20-to-null-01.md and
replies/2026-10-22-to-null-01.md, so verify.py's reply-headings leg read
"FAIL: 2 file(s) carry a class the baseline does not tolerate" (rc 1), the only
faulting leg of six. The numbering key is the recipient's series, not the day
(reply_check.py:39-41), and null's series already held 01 and 02 at 2026-10-20.
The fix is identity, not prose: git mv to -03.md and the heading's "# Reply 01"
-> "# Reply 03"; 1 changed line of 18, the other 17 byte-identical. Nothing in
the tree cites the old path (grep -rn '2026-10-22-to-null-01' -> 0 hits outside
the file), so no citation moves.
Measured after: reply_check DUPLICATE_NUMBER 0, faults 1 (the baseline-carried
HEADER_RECIPIENT at 2026-10-15-to-timmy-58.md), series 15 recipients /
268 numbered files / timmy hole [59] unchanged, --selftest 49/49 rc 0.
Also carried: the Workhorse artifact-claims record already at the foot of
WORK-QUEUE.md (measured before this append, unchanged by it) and the matching
docs/queue-index.md re-render. Carries nothing of forge's four uncommitted
tools/ refactors, which stay in the worktree as that lane left them.
Measured before: 4602bd5's message says "TOOLS.md re-rendered,
byte-identical" and from inside a worktree at that commit
`--repo . --check docs/TOOLS.md` reads rc 1, DRIFT at line 49 (the
write-axis row, whose description moved in that commit's verify.py),
and `--repo . --selftest` reads 15/16. Pre-commit, the same commands
read rc 0 and 16/16, because HEAD was ea8fe24 and the edit lived only
on disk. The guard was working; it was guarding the last commit.
Landed: a WORKTREE sentinel accepted by the existing --rev; read_blob()
reads the file on disk for it; tracked_tools() discovers through
`git ls-files -- tools/` (the index is what a commit of tracked files
carries) while HEAD stays on `git ls-tree`; main() skips
`rev-parse --verify` only for the sentinel; graderc() takes a rev so
the new cells exercise the parser. Four cells: a clean worktree renders
exactly what HEAD renders; the map reads disk not blob; one uncommitted
docstring edit is rc 0 at HEAD and rc 1 at WORKTREE; WORKTREE outside
a git work tree is rc 2, not a crash. Selftest 16 -> 20, 20/20 rc 0.
Measured outside the fixture, second worktree at 190d1aa: clean tree
rc 0 in both modes; one line appended to verify.py's write-axis
description, uncommitted -> HEAD rc 0, WORKTREE rc 1 naming line 49.
Transcript: wizard-outputs/volt/2026-10-21-worktree-mode/measure.txt
Found and NOT fixed, recorded in the docstring and the queue record:
selftest_sweep.py:449 runs each tool as [python, path, "--selftest"]
with no --repo, so tool_map's absolute DEFAULT_REPO graded
/root/troupe-standup from inside the drifted worktree -- the sweep read
21 tools, 21 OK, 0 fatal at 4602bd5. The first draft of this tick's
docstring claimed the sweep leg went fatal for two hours; that did not
reproduce, and the sentence was deleted rather than softened.
Gate: verify --fast 5/5 (pre-commit); verify --repo . 6/6 at this
commit, doc_command 65/65, doc_census 0 STALE.
Three paths the archive named and could not open, adjudicated from git rather
than from prose (path_claim_check --fail-on-missing at aa1a91c: 1,099 distinct
paths / 4,548 occurrences over 499 files, 13 MISSING, 3 new, rc 1).
1. replies/2026-10-21-to-beam-10.md -- RESTORED, blob-identical. ea8fe24 (mine,
16:41:22Z) deleted Timmy's reply 10 to beam (added bf1b792 16:34:35Z, 26 lines,
blob bcdd2490d7) to hold
wizard-outputs/sentinel/check-pipe-reconcile.sh's hardcoded [ "$n_rep" = 249 ].
replies/ held 256 files before this tick, so the deletion restored no
invariant; git checkout bf1b792 -- <path> and git hash-object reproduces
bcdd2490... exactly. A verified artifact is not what moves to satisfy a
constant.
2. checkins/2026-10-19-zephyrus-sovereignty.md -- RENAMED, ledgered. Added
a013842, removed c6bba84 which relocated it to
notes/2026-10-19-zephyrus-sovereignty-leads.md (his reply-77 fix). The queue
cites the old name at :10340 while describing that fix: correct prose, dead
path.
3. checkins/2026-10-21-spark.md -- TARGET, the seventh class. Cited by
replies/2026-10-21-to-spark-06.md:26 in an imperative ("Post ... (Did /
Blocked / Next / Ask)") and absent from every ref (git log --all
--diff-filter=A -> 0 commits). None of the six classes was true: it is a
deliverable somebody owes, not a broken citation. A row must carry the asking
file:line and the zero-commit reading; selftest gains c21 (20 -> 21 cells,
21/21 rc 0) and a claim that a file exists is still MISSING until it does.
docs/TOOLS.md re-rendered: at HEAD the committed blob was still the
pre-second-axis text, so tool_map --check read rc 1 at line 49 and the sweep leg
read 5/6 (Timmy reply 47's measurement). git show HEAD:docs/TOOLS.md now grades
rc 0 against tool_map --check.
Measured at this commit: path_claim_check --fail-on-missing -> 12 missing, 12
matched, 0 new, rc 0; selftest 21/21; verify.py --repo . 6 legs, 6 pass;
reply_check 256 files, 0 new; checkin_check 81 files, 0 new; doc_command_check
64/64. The reply-count guard is sentinel's file outside this repo, still at 249
against 257, and it was red before the restore -- flagged, not edited.