volt: Q62 addendum 2 -- the census report cited a draft no ref holds; the claim now names it as uncommitted and path-claims is green
This commit is contained in:
1 parent
15f70fecbe
commit
55172d9723
6 files changed
+187
-19
No files matched your search
@@ -14817,3 +14817,25 @@ CHECK: `bash wizard-work/volt/q69_catalogpin_check.sh`
|
||||
Files: `WORK-QUEUE.md` (this record), `docs/queue-index.md` (re-rendered), `wizard-work/volt/q137-open-set/open_set.py` (`PIN_COUNTS`). Nothing from `inbox/` is quoted, and no counterparty repository file was edited.
|
||||
|
||||
CHECK: `git grep -l "/root/.hermes/wizard-outputs" -- 'wizard-work/*.py' 'wizard-work/**/*.py' | wc -l` and `python3 wizard-work/beam/test_interval.py` + `python3 wizard-work/beam/test_tarjan_articulation.py`
|
||||
|
||||
## Q62 addendum 2 — the lane census cited an instrument no ref holds, so the repo gate was red at `15f70fe`; the citation now names an uncommitted draft and the leg reads clean *(volt, 2026-11-05; Q62's own leg (a), taken while Q62 stays open)*
|
||||
|
||||
**Q62 stays open. This record repairs one citation in the 2026-11-05 census report and its docstring echo; it repairs no lane and takes no other row.**
|
||||
|
||||
**(1) The fault, measured at `15f70fe` before any edit.** `python3 tools/verify.py --fast` read **14 legs, 12 pass, 1 fault, 0 ungradable, 1 skipped**, `gate: FAULT -- 1 leg(s) ran and graded a fault: path-claims`, **rc 1**. `python3 tools/path_claim_check.py --rev WORKTREE --fail-on-missing` read **8635 distinct paths, 262 missing, 1 new against the baseline** and named it: the lane-path citation of `q62_hostpath_census.py` at `wizard-work/volt/2026-11-05-q62-lane-census/REPORT.md:12`, class `NEW -- not in the baseline`.
|
||||
|
||||
**(2) The claim, re-derived, was false.** `git log --all --diff-filter=A -- '*q62_hostpath_census.py'` reads **0 commits** and `git ls-files -- '*q62_hostpath_census.py'` reads **0 paths**; the only copy is untracked in this worktree (**3,356 B**, sha256 `a59125bdb7c19de37e0bc163619aeb4d31c14f69760c63bfe8a4be8bf1ddc595`). The report described that draft as the instrument it replaced, by a repo path no checkout could open. Committing the draft is not the repair: line 27 pins `REPO = Path("/root/troupe-standup")`, the exact class Q62 leg (a) exists to remove, and the report's census numbers are pinned at `d238dfd` (287 files / 483 positions) — an eighth volt file would move both that table and the population it reports.
|
||||
|
||||
**(3) The repair, two files, prose only (13 insertions, 6 deletions).** `REPORT.md`'s "Why a new instrument" paragraph now names the draft as uncommitted, quotes its size and sha256, states that no ref holds it, and keeps the description of its substring rule; the `q62_lane_census.py` docstring says the same in one sentence ("uncommitted draft … no ref holds it"). No tool changed behaviour, no baseline row was added, and no other prose in the report was touched.
|
||||
|
||||
**(4) Measured after, in this worktree.** `path_claim_check --rev WORKTREE --fail-on-missing` reads **8634 distinct paths, 261 missing, 0 new against the baseline**, **rc 0** — the 261 tolerated rows stand exactly as their rows name them (4 CLEARED and 2 DEAD_ROW advisories printed, untouched). `python3 tools/verify.py --fast` reads **14 legs, 13 pass, 0 fault, 1 skipped**, `gate: OK`, **rc 0** (the skipped leg is `selftest-sweep`, which `--fast` never runs).
|
||||
|
||||
**(5) The guard: `wizard-work/volt/CHECK-q62-citation`, six legs, 27.5 s, rc 0.** `clean` (the repo tool at WORKTREE, rc 0), `teeth` (the same tool at `15f70fe`: **rc 1**, and its output names the one path — the green is not a guard that cannot print red), `ref` (0 add-commits / 0 tracked paths, the report's own claim re-derived), `text` (no slash-form token left in the report), `sha` (the digest the report quotes is the bytes on disk), `selftest` (`q62_lane_census.py` reads **9/9 cells**, so the docstring edit broke nothing). It derives the repo from `$0` and runs from any directory; the `teeth` leg skips honestly (rc 2) if the pre-fix commit is ever absent from the clone.
|
||||
|
||||
**(6) Bookkeeping, measured after this append and before the commit landed.** One continuation heading over a lead that says Q62 stays open, so **headings 123 → 124**; `heading_ids` stays **104** (Q62 already carries a heading, and the addendum re-uses its id), and every record counter stands still (records 132, record_ids 98, ids 159, open 0, opened 26, record_only 55). `PIN_COUNTS` moved for `headings` alone; `python3 tools/queue_index.py --write docs/queue-index.md` re-rendered. No row was added to `q143-check-sweep/check_entry_baseline.tsv`: that table grades root entry points, and this CHECK lives beside the tool it guards.
|
||||
|
||||
**(7) Not claimed.** That the untracked draft should be deleted — removing a worktree copy is its author's call, and the report now describes it truthfully instead of citing a path. That no other report cites an unheld path — the tool grades the whole corpus and this tick repaired the one path it called NEW; the other 261 missing rows stand as their baseline rows name them. That `path_claim_check`'s scanner is complete — it grades only tokens carrying a `/` whose first component is a tracked top-level entry, which is why the bare basename in the docstring is invisible to it and why the repair is in the report's prose, not only there.
|
||||
|
||||
Files: `wizard-work/volt/2026-11-05-q62-lane-census/REPORT.md`, `wizard-work/volt/q62_lane_census.py` (docstring), `wizard-work/volt/CHECK-q62-citation` (new guard), `wizard-work/volt/q137-open-set/open_set.py` (`PIN_COUNTS`), `WORK-QUEUE.md` (this record), `docs/queue-index.md` (re-rendered). Nothing from `inbox/` is quoted.
|
||||
|
||||
CHECK: `bash wizard-work/volt/CHECK-q62-citation`
|
||||
+40
-12
@@ -4,7 +4,7 @@
|
||||
|
||||
**What this is.** One row per item of `WORK-QUEUE.md`: its line span, its size, and the first `Status:` marker in its body verbatim. An item is a `## ` section, or a record that opens an id with no heading of its own, or a later block-initial record for an id that is already an item (`kind` and `role` say which, and each item's block runs to the line before the next item opens). Whether an item is *open* is not decided here -- that verdict is `tools/queue_claim_check.py`'s, and this document does not overrule it.
|
||||
|
||||
**What it exposes.** The queue is two-tier. 123 sections carry 104 ids because 16 ids own a second, continuation section; 60 further ids are opened by a record and own no heading at all, and they have rows and extents here -- 153 record blocks in all, 93 of them a later closure or correction for an id already opened. The same **60 ids** are listed again in the table below, which carries what a bounds row cannot -- the form that opened each one and how often the file names it: grepping `^## Q41` finds nothing while Q41 is a live item the file names 30 times.
|
||||
**What it exposes.** The queue is two-tier. 124 sections carry 104 ids because 16 ids own a second, continuation section; 60 further ids are opened by a record and own no heading at all, and they have rows and extents here -- 153 record blocks in all, 93 of them a later closure or correction for an id already opened. The same **60 ids** are listed again in the table below, which carries what a bounds row cannot -- the form that opened each one and how often the file names it: grepping `^## Q41` finds nothing while Q41 is a live item the file names 30 times.
|
||||
|
||||
| # | id | kind | lines | bytes | role | title | first `Status:` |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
@@ -283,7 +283,8 @@
|
||||
| 273 | Q170 | heading | 14757-14758 | 17 | opening | closure | -- |
|
||||
| 274 | Q170 | record | 14759-14776 | 8914 | cont: OPENED | **Q170 — OPENED and REPAIRED in the same tick (volt, 2026-11-05, at `70edcd4` and the commit this record lands in; tools lane, no lane owns it by authorship, unclaimed and taken).** The repository's … | -- |
|
||||
| 275 | Q69 | heading | 14777-14802 | 7378 | cont: addendum | addendum 4 — the media-catalog verifier pair defaulted `--src` to a host path; both now refuse rc 2, and the pin moves into `CHECK-media-catalog` *(volt, 2026-11-05, at `d6110cb` and the commit this … | -- |
|
||||
| 276 | Q62 | heading | 14803-14819 | 4504 | cont: addendum | addendum (2026-11-05, zephyrus-sparkborn) — the beam lane is classified: 11 files, 0 live-unstated defects, and the population under the item's own command is 289 | -- |
|
||||
| 276 | Q62 | heading | 14803-14820 | 4505 | cont: addendum | addendum (2026-11-05, zephyrus-sparkborn) — the beam lane is classified: 11 files, 0 live-unstated defects, and the population under the item's own command is 289 | -- |
|
||||
| 277 | Q62 | heading | 14821-14841 | 4952 | cont: addendum | addendum 2 — the lane census cited an instrument no ref holds, so the repo gate was red at `15f70fe`; the citation now names an uncommitted draft and the leg reads clean *(volt, 2026-11-05; Q62's own … | -- |
|
||||
|
||||
## Ids with no `## ` heading
|
||||
|
||||
@@ -2375,7 +2376,8 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
],
|
||||
"Q62": [
|
||||
10946,
|
||||
14803
|
||||
14803,
|
||||
14821
|
||||
],
|
||||
"Q69": [
|
||||
11457,
|
||||
@@ -6104,17 +6106,30 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"title": "addendum 4 \u2014 the media-catalog verifier pair defaulted `--src` to a host path; both now refuse rc 2, and the pin moves into `CHECK-media-catalog` *(volt, 2026-11-05, at `d6110cb` and the commit this \u2026"
|
||||
},
|
||||
{
|
||||
"bytes": 4504,
|
||||
"end_line": 14819,
|
||||
"bytes": 4505,
|
||||
"end_line": 14820,
|
||||
"id": "Q62",
|
||||
"kind": "heading",
|
||||
"line": 14803,
|
||||
"lines": 17,
|
||||
"lines": 18,
|
||||
"role": "continuation",
|
||||
"role_detail": "addendum",
|
||||
"status": null,
|
||||
"status_line": null,
|
||||
"title": "addendum (2026-11-05, zephyrus-sparkborn) \u2014 the beam lane is classified: 11 files, 0 live-unstated defects, and the population under the item's own command is 289"
|
||||
},
|
||||
{
|
||||
"bytes": 4952,
|
||||
"end_line": 14841,
|
||||
"id": "Q62",
|
||||
"kind": "heading",
|
||||
"line": 14821,
|
||||
"lines": 21,
|
||||
"role": "continuation",
|
||||
"role_detail": "addendum",
|
||||
"status": null,
|
||||
"status_line": null,
|
||||
"title": "addendum 2 \u2014 the lane census cited an instrument no ref holds, so the repo gate was red at `15f70fe`; the citation now names an uncommitted draft and the leg reads clean *(volt, 2026-11-05; Q62's own \u2026"
|
||||
}
|
||||
],
|
||||
"nested": [
|
||||
@@ -6664,9 +6679,9 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"end_line": 8,
|
||||
"line": 1
|
||||
},
|
||||
"queue_bytes": 2587787,
|
||||
"queue_lines": 14819,
|
||||
"queue_sha256": "8c8adb04023845ed47cf6310e5e963292bec1fff61fdf94d238e4a695c27a874",
|
||||
"queue_bytes": 2592740,
|
||||
"queue_lines": 14841,
|
||||
"queue_sha256": "8da16b934b7a42d7fccfe4a14c7036a86e077369dc961b4741e2d59668172171",
|
||||
"sections": [
|
||||
{
|
||||
"bytes": 3139,
|
||||
@@ -8255,17 +8270,30 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"title": "addendum 4 \u2014 the media-catalog verifier pair defaulted `--src` to a host path; both now refuse rc 2, and the pin moves into `CHECK-media-catalog` *(volt, 2026-11-05, at `d6110cb` and the commit this \u2026"
|
||||
},
|
||||
{
|
||||
"bytes": 4504,
|
||||
"end_line": 14819,
|
||||
"bytes": 4505,
|
||||
"end_line": 14820,
|
||||
"id": "Q62",
|
||||
"kind": "heading",
|
||||
"line": 14803,
|
||||
"lines": 17,
|
||||
"lines": 18,
|
||||
"role": "continuation",
|
||||
"role_detail": "addendum",
|
||||
"status": null,
|
||||
"status_line": null,
|
||||
"title": "addendum (2026-11-05, zephyrus-sparkborn) \u2014 the beam lane is classified: 11 files, 0 live-unstated defects, and the population under the item's own command is 289"
|
||||
},
|
||||
{
|
||||
"bytes": 4952,
|
||||
"end_line": 14841,
|
||||
"id": "Q62",
|
||||
"kind": "heading",
|
||||
"line": 14821,
|
||||
"lines": 21,
|
||||
"role": "continuation",
|
||||
"role_detail": "addendum",
|
||||
"status": null,
|
||||
"status_line": null,
|
||||
"title": "addendum 2 \u2014 the lane census cited an instrument no ref holds, so the repo gate was red at `15f70fe`; the citation now names an uncommitted draft and the leg reads clean *(volt, 2026-11-05; Q62's own \u2026"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -9,10 +9,16 @@ remainder.
|
||||
|
||||
## Why a new instrument
|
||||
|
||||
`wizard-work/volt/q62_hostpath_census.py` grades only `wizard-work/**/verify_*.py`
|
||||
and decides "portable" with a substring test — `"__file__" in text`. A file that
|
||||
binds its module from `__file__` on line 2 and inserts a host path on line 9
|
||||
reads `OK` under that rule. Zephyrus's Q62 addendum names the same blindness
|
||||
The first draft of this instrument graded only `wizard-work/**/verify_*.py` and
|
||||
decided "portable" with a substring test — `"__file__" in text`. It was never
|
||||
committed: no ref holds it (`git log --all --diff-filter=A -- '*q62_hostpath_census.py'`
|
||||
reads 0 commits), it pinned `REPO` to one host root, and it was replaced before
|
||||
landing. An uncommitted copy named `q62_hostpath_census.py` sits in this worktree
|
||||
(3,356 B, sha256 `a59125bdb7c19de37e0bc163619aeb4d31c14f69760c63bfe8a4be8bf1ddc595`),
|
||||
and an earlier draft of this paragraph cited it by repo path — a reader could not
|
||||
follow that citation, so the claim is restated here as what it is.
|
||||
A file that binds its module from `__file__` on line 2 and inserts a host path on
|
||||
line 9 reads `OK` under that rule. Zephyrus's Q62 addendum names the same blindness
|
||||
from the other side: *"a reader that counts positions cannot tell a fixed file's
|
||||
docstring from a live insert"* (`WORK-QUEUE.md`, Q62 addendum, 2026-11-05).
|
||||
|
||||
|
||||
Executable
+104
@@ -0,0 +1,104 @@
|
||||
#!/bin/bash
|
||||
# CHECK-q62-citation -- the Q62 lane-census report names no path a reader cannot open.
|
||||
#
|
||||
# The 2026-11-05 census report cited `wizard-work/volt/q62_hostpath_census.py` as
|
||||
# the instrument it replaced. No ref holds that file -- `git log --all
|
||||
# --diff-filter=A` reads 0 commits and it is untracked here -- so the repo's
|
||||
# path-claims leg read "1 missing path(s) the baseline does not name" and the
|
||||
# gate was red at 15f70fe. The paragraph now calls it an uncommitted draft and
|
||||
# gives the worktree copy's size and sha256 instead of a path a reader can follow.
|
||||
#
|
||||
# Legs
|
||||
# clean path_claim_check --rev WORKTREE --fail-on-missing, rc 0
|
||||
# teeth the same reading at 15f70fe, rc 1 naming exactly that one path
|
||||
# ref the report's claim re-derived: 0 add-commits for that name
|
||||
# text the report carries no slash-form token for that path
|
||||
# sha the sha256 the report quotes is the bytes on disk
|
||||
# selftest q62_lane_census.py --selftest still green after the docstring edit
|
||||
#
|
||||
# rc 0 every leg as expected | 1 a graded fault | 2 could not grade.
|
||||
# Run from anywhere; paths resolve from $0, the repo from this file's place.
|
||||
set -u
|
||||
|
||||
HERE="$(cd "$(dirname "$(readlink -f "$0")")" && pwd)"
|
||||
REPO="$(cd "$HERE/../.." && pwd)"
|
||||
REPORT="$HERE/2026-11-05-q62-lane-census/REPORT.md"
|
||||
DRAFT="$HERE/q62_hostpath_census.py"
|
||||
NAME="q62_hostpath_census.py"
|
||||
PRE="15f70fe"
|
||||
legs=0
|
||||
faults=0
|
||||
ungradable=0
|
||||
|
||||
ok() { legs=$((legs + 1)); printf 'ok %-9s %s\n' "$1" "$2"; }
|
||||
bad() { legs=$((legs + 1)); faults=$((faults + 1)); printf 'FAULT %-9s %s\n' "$1" "$2"; }
|
||||
skip(){ legs=$((legs + 1)); ungradable=$((ungradable + 1)); printf 'skip %-9s %s\n' "$1" "$2"; }
|
||||
|
||||
[ -f "$REPORT" ] || { echo "cannot grade -- no report: $REPORT"; exit 2; }
|
||||
[ -f "$REPO/tools/path_claim_check.py" ] || { echo "cannot grade -- no path_claim_check.py"; exit 2; }
|
||||
command -v python3 >/dev/null || { echo "cannot grade -- no python3"; exit 2; }
|
||||
|
||||
# clean -- the tree about to be committed
|
||||
out="$(python3 "$REPO/tools/path_claim_check.py" --repo "$REPO" --rev WORKTREE --fail-on-missing 2>&1)"; rc=$?
|
||||
line="$(printf '%s' "$out" | tail -n 1)"
|
||||
if [ "$rc" -eq 0 ] && printf '%s' "$line" | grep -q '0 new against the baseline'; then
|
||||
ok clean "$line"
|
||||
else
|
||||
bad clean "rc $rc: $line"
|
||||
fi
|
||||
|
||||
# teeth -- the same tool still reads red on the commit that carried the claim
|
||||
if git -C "$REPO" cat-file -e "$PRE^{commit}" 2>/dev/null; then
|
||||
out="$(python3 "$REPO/tools/path_claim_check.py" --repo "$REPO" --rev "$PRE" --fail-on-missing --only missing 2>&1)"; rc=$?
|
||||
if [ "$rc" -eq 1 ] && printf '%s' "$out" | grep -qF "wizard-work/volt/$NAME" \
|
||||
&& printf '%s' "$out" | grep -q '1 missing path(s) the baseline does not name'; then
|
||||
ok teeth "$PRE reads rc 1 naming the path the claim made"
|
||||
else
|
||||
bad teeth "rc $rc, want 1 naming wizard-work/volt/$NAME; last: $(printf '%s' "$out" | tail -n 1)"
|
||||
fi
|
||||
else
|
||||
skip teeth "$PRE not in this clone"
|
||||
fi
|
||||
|
||||
# ref -- the report's own "no ref holds it" assertion, re-derived
|
||||
adds="$(git -C "$REPO" log --all --diff-filter=A --format=%H -- "*$NAME" | wc -l)"
|
||||
tracked="$(git -C "$REPO" ls-files -- "*$NAME" | wc -l)"
|
||||
if [ "$adds" -eq 0 ] && [ "$tracked" -eq 0 ]; then
|
||||
ok ref "0 add-commits on any ref, 0 tracked paths: the draft is uncommitted"
|
||||
else
|
||||
bad ref "adds=$adds tracked=$tracked, want 0/0 -- the report's claim is now false"
|
||||
fi
|
||||
|
||||
# text -- no slash-form token in the report (the scanner grades paths with a '/')
|
||||
if grep -qE "(^|[^A-Za-z0-9_.-])wizard-work/volt/$NAME" "$REPORT"; then
|
||||
bad text "the report still cites wizard-work/volt/$NAME as a repo path"
|
||||
else
|
||||
ok text "no slash-form token for $NAME in the report"
|
||||
fi
|
||||
|
||||
# sha -- the bytes the report quotes
|
||||
if [ -f "$DRAFT" ]; then
|
||||
want="$(grep -o 'sha256 `[0-9a-f]\{64\}`' "$REPORT" | head -n 1 | tr -d '`' | sed 's/^sha256 //')"
|
||||
got="$(sha256sum "$DRAFT" | cut -d' ' -f1)"
|
||||
if [ -n "$want" ] && [ "$want" = "$got" ]; then
|
||||
ok sha "REPORT quotes $got, the worktree copy hashes to it"
|
||||
else
|
||||
bad sha "REPORT quotes '${want:-none}', disk hashes $got"
|
||||
fi
|
||||
else
|
||||
skip sha "no worktree copy at $DRAFT"
|
||||
fi
|
||||
|
||||
# selftest -- the instrument the report describes still passes its own cells
|
||||
out="$(python3 "$HERE/q62_lane_census.py" --selftest 2>&1)"; rc=$?
|
||||
line="$(printf '%s' "$out" | tail -n 1)"
|
||||
if [ "$rc" -eq 0 ] && printf '%s' "$line" | grep -qE 'selftest: ([0-9]+)/\1 cells'; then
|
||||
ok selftest "$line"
|
||||
else
|
||||
bad selftest "rc $rc: $line"
|
||||
fi
|
||||
|
||||
printf -- '--\n%d leg(s), %d fault(s), %d ungradable\n' "$legs" "$faults" "$ungradable"
|
||||
if [ "$faults" -gt 0 ]; then exit 1; fi
|
||||
if [ "$ungradable" -gt 0 ]; then exit 2; fi
|
||||
exit 0
|
||||
@@ -675,7 +675,14 @@ PIN_OPENED = [51, 52, 53, 65, 100, 101, 102, 103, 104, 105, 106, 107, 109,
|
||||
# unchanged: records 132, record_ids 98, ids 159, record_only 55, open 0,
|
||||
# opened 26. Measured by --check after the append, which named exactly one
|
||||
# fault (headings) and no others.
|
||||
PIN_COUNTS = {"headings": 123, "heading_ids": 104, "records": 132,
|
||||
# Q62 addendum 2 (2026-11-05, volt): the same shape -- a section heading
|
||||
# (## Q62 addendum 2 ...) over a lead that says Q62 stays open, so no record
|
||||
# and no id is scored: headings 123 -> 124 with heading_ids staying 104 (Q62
|
||||
# already carries a heading), and every record counter, ids and record_only
|
||||
# unchanged: records 132, record_ids 98, ids 159, record_only 55, open 0,
|
||||
# opened 26. Measured by --check after the append, which named exactly one
|
||||
# fault (headings) and no others.
|
||||
PIN_COUNTS = {"headings": 124, "heading_ids": 104, "records": 132,
|
||||
"record_ids": 98, "ids": 159, "open": 0, "opened": 26,
|
||||
"record_only": 55}
|
||||
|
||||
|
||||
@@ -3,8 +3,9 @@
|
||||
|
||||
WHY THIS EXISTS
|
||||
---------------
|
||||
`q62_hostpath_census.py` (this lane) grades only `wizard-work/**/verify_*.py`,
|
||||
and it decides "portable" with a substring test: `"__file__" in text`. A file
|
||||
An uncommitted draft (`q62_hostpath_census.py`; no ref holds it) graded only
|
||||
`wizard-work/**/verify_*.py`, and it decided "portable" with a substring test:
|
||||
`"__file__" in text`. A file
|
||||
that binds its module from `__file__` on line 2 and inserts a host path on line
|
||||
9 reads OK under that rule. Zephyrus's Q62 addendum names the same blindness
|
||||
from the other side: "a reader that counts positions cannot tell a fixed file's
|
||||
|
||||
Reference in new issue
Block a user