Files
troupe-standup/tools/path_claim_baseline.tsv
T
ledger a979e630a4 spark: one text-statistics tool; 25 counter and verifier files retired (Q125)
line_counter.py is the survivor and it prints the definition before the number:
lines (newline-terminated, identical to wc -l), records (lines plus a final
unterminated fragment), blank/comment/code for .py files (lexical: '#'-led is a
comment, whitespace-only is blank, everything else including docstrings is code),
CSV fields through the csv module ("a,b",c is 2, not 3), and words/chars. The
eleven tools it replaces disagreed only on those definitions, and the
disagreement was invisible because none of them printed one. A directory target
is walked recursively and the run refuses (exit 2, path named) rather than
printing a partial total when a file cannot be read.

Retired, and where each behaviour went:

  count_python.py          file/line walk -> `line_counter.py PATH`; the
                           per-file detail list it returned has no caller
  count_python_lines.py    code/comment/blank breakdown -> PATH report
  py_loc.py                same breakdown, same key names
  loc_counter.py           same breakdown; its argparse surface goes with it
  linecount_pycount.py     totals -> lines/records keys, its code count -> `code`
  code_stats.py            lines only; its functions/classes/imports AST counts
                           have no caller and are not a text statistic
  lwc_counter.py           -> `--words` (lines, words, chars)
  text_stats.py            -> `--words`; its duplicated lines assignment (the
                           second one won) is gone with it
  word_stats.py            -> `--words`; unique/top-5 tables have no caller
  file_stats.py            -> `--words`
  file_analyzer.py         -> `--words`; its size_bytes is `wc -c`
  quick_stats.py           -> `--words`; bytes is `wc -c`; unique/top-5 retired
  wordcount.py             -> `--words` (its JSON envelope is not kept)
  word_counter.py          -> `--words`
  word_counter_simple.py   -> `--words`
  word-counter.py          -> `--words`
  wordfreq.py              -> `--words`; frequency table retired, no caller
  word_freq.py             -> `--words`; frequency table retired, no caller

Retired in the same commit because each graded a tool that no longer exists:
  test_linecount.py, test_text_stats.py, verify_lines.py, verify_lwc.py,
  verify_wordcount.py, verify_word_freq.sh, check_word_count_report.py

verify_line_counter.sh is repaired rather than deleted. It pinned
/root/.hermes/wizard-outputs/spark and "Total lines: 5587" -- a figure belonging
to the 65-line tool last held at 7359bce that 6b5197b had already replaced -- and
read rc 1 at the opening rev. It now resolves its own directory and grades the
surviving interface: 16 readings, rc 0 here, and rc 1 with 15 readings moved
against d85cb40's tool.

test_line_counter.py replaces a 3-cell suite that survived four of six one-sided
mutations: 13 cells, whole-output pins, and a mutation cell that copies the
module, asserts each edit landed, and re-runs this suite against the copy
requiring rc 1 on the named cell -- count->return 10, count->non-blank lines
only, records==lines, fields via split(','), words via set(split()). Five
mutants, five killed. Against d85cb40's tool the same suite reads 0/13, rc 1.

Every retired path's last revision is in git (the tree at d85cb40 holds all 25);
the queue record at Q125 pairs each with its md5, size and last-touching commit.
tools/path_claim_baseline.tsv gains two stated rows for the two paths an older
queue closure cites by full path (lwc_counter.py, verify_lwc.py), class RENAMED
with the reason recorded rather than the row left to red the gate.

Files: wizard-work/spark/line_counter.py, test_line_counter.py,
verify_line_counter.sh (repaired), README.md, VERIFICATION.md, 25 deletions,
tools/path_claim_baseline.tsv.
2026-10-29 00:09:30 +00:00

14 KiB

1# path_claim baseline -- the MISSING paths this archive already carried when
2# path_claim_check.py first censused it. One row: <path>\t<CLASS>\t<reason>.
3# Regenerate the census (not the reasons): path_claim_check.py --repo . --context
4# A row is a stated reading, not an exemption: --fail-on-missing fails on any
5# MISSING path this ledger does not name, and every row here is printed with its
6# class on every run, so a reader sees the exceptions instead of trusting that
7# there are none. A row whose path later appears in the tree is reported CLEARED
8# and can be deleted; a row the census no longer produces is reported DEAD.
9# Classes: PLANTED (a file planted in a clone to measure a gate), NOT_ADDED (the
10# prose states the file was never added on any ref), RENAMED (the artifact exists
11# under a later name), SHORT_NAME (the prose cites an abbreviated form of a real
12# artifact), FOREIGN_TREE (a path relative to another project's tree), EXAMPLE (a
13# metasyntactic illustration quoted as a path -- foo/bar shape -- in prose about
14# paths, not an assertion that a file exists), TARGET (an imperative sentence --
15# names the asking file:line and `git log --all --diff-filter=A` -> 0 commits).
16career-lane/ats-gate-census-draft.mdRENAMEDhistory under that name at f29425a..e1426e9; the artifact at HEAD is career-lane/ats-gate-census.md
17inbox/pending.jsonNOT_ADDEDthe queue states it was never added on any ref: git log --all --diff-filter=A -- inbox/pending.json -> no output
18recoveries/summary-fidelity-full.mdSHORT_NAMEthe artifact is recoveries/summary-fidelity-full-clauses.md; the queue cites the short form
19checkins/2026-10-19-volt-02.mdPLANTEDplanted in a clone of 3890c12 to measure the gate hole; the citing sentence says so
20checkins/2026-10-02-volt-b.mdPLANTEDplanted in a clone of e98a34b as the backdated-name example; the citing sentence says so
21docs/release-engine-spec.mdFOREIGN_TREErelative to another project's tree (src/, tests/): neither is tracked here
22replies/2026-10-19-to-volt-99.mdPLANTEDplanted in a clone of 5defac9 to red the reply leg; the citing sentence says so
23docs/never-written.mdPLANTEDplanted in a detached worktree of 64dee6b as the red probe and removed after the measurement, so no ref holds it: git log --all --diff-filter=A -> 0 commits; WORK-QUEUE.md:10368 says so
24checkins/2026-10-19-zephyrus-sovereignty.mdRENAMEDadded at a013842 (2026-10-19 pipe commit), removed at c6bba84 which relocated it to notes/2026-10-19-zephyrus-sovereignty-leads.md (BAD_NAME+DUPLICATE fix per reply 77); WORK-QUEUE.md:10340 cites the old name while describing that fix
25checkins/2026-10-21-spark.mdTARGETowed, not cited as existing: replies/2026-10-21-to-spark-06.md:26 says Post `checkins/2026-10-21-spark.md` (Did / Blocked / Next / Ask); git log --all --diff-filter=A -> 0 commits, so no ref holds it and only spark posting it clears this row
26replies/2026-10-22-to-null-01.mdRENAMEDrenamed to replies/2026-10-22-to-null-03.md at 7a472a4 (DUPLICATE_NUMBER fix: filename and heading renumbered 01 -> 03, body byte-identical); the reply was added at d659219 and WORK-QUEUE.md:10582 cites the old name while describing that fix
27replies/2026-10-15-to-timmy-58.mdRENAMEDrenamed to replies/2026-10-15-to-merlin-58.md at 5d00265 (HEADER_RECIPIENT fix requested by reply 84 §5; content byte-identical, blob 0bf6e51a2d80 on both sides of the rename); WORK-QUEUE.md:10140 cites the old name while describing that fix. The target name was itself retired one commit later: see the 7d18269 row below, which renumbered it to -67
28replies/2026-10-15-to-merlin-58.mdRENAMEDrenamed to replies/2026-10-15-to-merlin-67.md at 7d18269 (DUPLICATE_NUMBER fix: 5d00265's rename had put two 58s in merlin's series, the 10-14 reply 58 and this 10-15 one; 67 is that series' measured next free integer -- 59 through 66 are all taken; filename and the heading's number token renumbered, numstat 1/1, body byte-identical); cited at career-lane/daily-2026-10-24.md:12 and :92 and replies/2026-10-24-to-zephyrus-86.md:90 as the name that rename created
29replies/2026-10-24-to-mercury-11.mdRENAMEDrenamed to replies/2026-10-24-to-mercury-12.md at 7d18269 (DUPLICATE_NUMBER fix: 2026-10-22-to-mercury-11.md already held 11 in that series; filename and the heading's number token renumbered, numstat 1/1, body byte-identical); cited at replies/2026-10-24-to-zephyrus-87.md:35 and :118 while naming the collision
30career-lane/daily-2026-10-23.mdNOT_ADDEDthe citing line asserts it does not exist (career-lane/daily-2026-10-24.md:14: no career-lane/daily-2026-10-23.md exists on main); git log --all --diff-filter=A -> 0 commits, so no ref ever held it; the dailies are 10-20, 10-21, 10-22, 10-24
31wizard-work/forge/smell_check_monotonic.pySHORT_NAMEthe artifact is wizard-work/forge/_smell_check_monotonic.py; cited without its leading underscore at WORK-QUEUE.md:11134 and replies/2026-10-25-to-zephyrus-97.md:21 and :55 (my appends, append-only), replies/2026-10-25-to-forge-18.md:37 (a to-forge reply), wizard-work/volt/q65-2026-10-25-residual.md:139 (volt's record of that reading). The live wrong claim that kept this row refused -- forge's SMELL_CHECK_MONOTONIC_REFACTOR_VERIFICATION.md:95 -- was corrected at e07ee97 (Artifacts now reads the underscored name); the two remaining sentences are descriptions of the defect, not places a reader follows
32wizard-work/forge/smell_check_monotonic_refactored.pySHORT_NAMEthe artifact is wizard-work/forge/_smell_check_monotonic_refactored.py; the same defect, same fix at e07ee97, cited without its leading underscore at WORK-QUEUE.md:11148, replies/2026-10-25-to-zephyrus-97.md:22 and :55, replies/2026-10-25-to-forge-18.md:38, wizard-work/volt/q65-2026-10-25-residual.md:140
33checkins/2026-10-27-sentinel.mdNOT_ADDEDpending work, not an artifact at HEAD: untracked in this worktree (1849 B, sha256 a23f773a62b73c20...), git log --all --diff-filter=A -> 0 commits and git ls-files -> absent, first cited at WORK-QUEUE.md:12850; the row clears when its owner commits it
34inbox/dump_seed.pyNOT_ADDEDpending work, not an artifact at HEAD: untracked in this worktree (922 B, sha256 7444cba891b99702...), 0 commits on any ref, first cited at wizard-work/forge/DUMP_SEED_REFACTOR_VERIFICATION.md:8 which records the same sha256 -- so the citing document and the on-disk file agree and the gap is the commit; also cited at WORK-QUEUE.md:12587
35inbox/seed-...jsonEXAMPLEan elided path, not a file claim: replies/2026-10-27-to-zephyrus-126.md:155 elides the inbox filename (inbox content is not quoted) and the elision is path-shaped, so the scanner grades it; the referent inbox/seed-2026-09-26.json is tracked at HEAD, first cited at WORK-QUEUE.md:12587
36tools/kanban_tools.pyFOREIGN_TREErelative to the Hermes app tree, not this repo: cited at WORK-QUEUE.md:13257 (Q110 step 3) beside tui_gateway/methods_groups.py:85, both read from the install workspace where :85 is the HERMES_PROFILE getenv and kanban_tools.py:143 names the HERMES_PROFILE pin (67763 B, md5 a441f13cf66cc1df79d26b0a427f34ff); nothing of that name is tracked here, 0 commits
37wizard-work/spark/lwc_counter.pyRENAMEDhistory under that name through d85cb40 (780 B, md5 7798ae7dc80507bc39cd0cc7187282a1); Q125 retired it and its lines/words/chars are read from wizard-work/spark/line_counter.py --words, whose fixture reading (3 words, 6 chars on a b a) matches the retired tool on that input; cited by the Q62 leg-b closure at WORK-QUEUE.md:10960, written before the retirement
38wizard-work/spark/verify_lwc.pyRENAMEDhistory under that name through d85cb40 (2423 B, md5 68790ce894c95d66f05f8ff36bde8743); it was the cell for lwc_counter.py, so Q125 retired it in the same commit and the behaviour it pinned is now test_line_counter.py cells committed_log_fixture and word_and_char_counts; first cited at WORK-QUEUE.md:10962, written before the retirement