volt: queue record — tracked residue (19 .pyc, 105,528 B) untracked + first .gitignore; residue_check.py 20/20 cells, 6/6 mutations
This commit is contained in:
1 parent
ab0d96a451
commit
6b80fdf2d5
2 files changed
+24
-11
No files matched your search
@@ -10642,3 +10642,16 @@ Artifact `/root/.hermes/wizard-outputs/volt/2026-10-22-count-pin/` — `REPORT.m
|
||||
5. **What it does not claim.** The pin proves a count, not a corpus: the four cells `c3d7056` added are taken as the printed count says, and this repair does not audit them. The class stays open by construction — a printed count and its ledger row live in different files, so a commit can move one without the other and nothing goes red until the sweep is next run against that tree; the row was stale across four commits (`c3d7056`, `a5d2e73`, `311aae8`, `b2d4d98`) before this tick read it. Nothing here decides anything Alexander holds, and no tool's grading changed: the pinned number is the tool's own printed count.
|
||||
|
||||
— Volt
|
||||
|
||||
**Tracked residue 2026-10-23 (volt, Workhorse) — the archive tracked nineteen `.pyc` files (105,528 B) and carried no ignore rule anywhere, so every run inside the checkout re-added the class; the blobs are off the index, the repo has its first `.gitignore`, and an instrument now grades the class at any revision.** No item opened or closed; the open set is unchanged (`Q37`'s pipe span, the career-lane `Q53` decision held for Alexander, `Q64`'s design question Alexander's). Appended at the foot; `docs/queue-index.md` re-rendered in the same commit.
|
||||
|
||||
1. **The red, measured at `a7f70cd` before any edit.** `residue_check.py --repo . --rev a7f70cd` → **rc 1**, `19 tracked in the archive (BYTECODE 19); source marks: SOURCE 19, ON_DISK 0, ORPHAN 0`, `ignore: 1 of 7 canonical samples covered, 6 gap(s)`, `untracked: 23 residue path(s) git would offer to commit`, `verdict: FAULT 25`. Bytes, from the tree rather than from prose: `git ls-tree -r -l HEAD` over `*.pyc` → **105,528 B over 19 files**, in four `__pycache__` directories (`wizard-work/forge` 3, `wizard-work/spark` 14, `sphinx/archive-memgallery-2026-10-21` 1, `sphinx/figure-label-audit` 1), against **2,614** tracked paths. Not one was orphaned — every `.py` it was compiled from is at that same revision (`_chc_fast_check.py`, `array_intersection.py`, `audit.py` and the rest), so these were redundant binaries sitting beside their own reviewable text.
|
||||
2. **The fault had already been returned and was not repaired.** `replies/2026-10-23-to-forge-14.md:23` asks for three of these (`_chc_fast_check`, `verify_citation_hash_class_portable_default`, `verify_write_probe_dry_refactor`) to be removed and for `__pycache__/` to be ignored; all three were still tracked at `a7f70cd`, and `test -e .gitignore` was false for the whole repository. The single covered ignore sample was not a repo rule at all: `git check-ignore -v .ruff_cache/0.17.1/entry` → `.ruff_cache/.gitignore:2:*`, a file ruff writes inside its own cache. In a fresh clone of the same rev, **all seven** samples read `NOT-IGNORED` — which is why the tool grades the checkout it reads and says so in its own docstring.
|
||||
3. **The fix is two objects and touches no lane's content.** A repo-root `.gitignore` (new file, 18 rules) and `git rm --cached` over the nineteen paths: commit **`ab0d96a`**, `20 files changed, 23 insertions(+)`, every removal a `Bin N -> 0 bytes` line — **no line of prose or code was deleted from any file**, and no `.py` was edited. The blobs stay readable in history at `a7f70cd` and every parent (`git cat-file -e a7f70cd:wizard-work/spark/__pycache__/todo.cpython-314.pyc` → rc 0); untracking is not destruction, and the record says so rather than leaving a reader to infer it.
|
||||
4. **Measured after, same instrument, one variable.** At `ab0d96a`: `0 tracked in the archive (none)`, `ignore: 7 of 7 canonical samples covered, 0 gap(s)`, `untracked: 0`, `verdict: CLEAN`, **rc 0**; tracked paths **2,614 → 2,596** (nineteen out, `.gitignore` in — 18 net, and the arithmetic is stated because a reader will check it). `path_claim_check.py --repo . --fail-on-missing` → **1,199 distinct paths, 13 missing, 0 new against the baseline**, rc 0, so no document cited a removed blob by path; `verify.py --repo .` at that worktree → **7 legs, 7 pass, 0 fault, 0 ungradable, 0 skipped**, gate OK, rc 0.
|
||||
5. **The instrument was watched going red, one leg at a time, on clones of the commit** (`wizard-outputs/volt/2026-10-23-tracked-residue/mutate.sh`; each case a `git clone --shared`, so the graded tree is the mutated one and the shared checkout is never touched): CTL unmutated → `CLEAN` rc 0; M1 the two bytecode rules deleted from `.gitignore` → `5 of 7 covered`, `FAULT 2`, **rc 1**; M2 a force-added tracked `.pyc` with no source beside it → `TRACKED ORPHAN`, `FAULT 1`, **rc 1**; M3 one untracked `.cache/hit` → advisory, `CLEAN` rc 0; M3b the same tree under `--strict` → `FAULT 1`, **rc 1**; M4 that `.pyc` tracked under a *covering* `.gitignore` → still `FAULT 1`, which is the point of two legs: the ignore rule and the tracked-tree leg do not substitute for each other. `--selftest` → **20 cells, 20 passed, 0 failed**, including both rc-2 preconditions (not a repository; an unresolvable `--rev`).
|
||||
6. **What it does not claim.** The instrument ships in the artifact, not in `tools/`: `selftest_sweep.py` grades any `tools/` entry its probe tables never name as `NO_PROBE`, which is fatal, and `tools/selftest_sweep.py` currently carries forge's uncommitted `Counter` refactor (the subject of reply 14) — registering a new tool there would mean committing another lane's work-in-progress or reverting it, so the follow-on is a `verify.py` leg in a tree where that file is clean. The `IGNORE_GAP` leg grades the checkout, not the revision, because ignore rules are read from the worktree. `UNTRACKED` is advisory by default by design — a lane's local scratch is not an archive fault, and a gate that fails on every scratch is a gate people learn to skip — with `--strict` as the grading mode. The classifier names classes, never intent: a deliberately committed `.orig` (a captured patch, say) is indistinguishable from residue to it, and that argument belongs in prose, not in a regex.
|
||||
|
||||
Artifact `/root/.hermes/wizard-outputs/volt/2026-10-23-tracked-residue/` — `REPORT.md`, `check.sh`, `residue_check.py`, `mutate.sh`, `queue-record.md`, six transcripts (`before`, `before-measure`, `after`, `selftest`, `mutation`, `verify-gate`), and a `files.sha256` over its own files (`sh check.sh` → `CHECK: PASS`, rc 0).
|
||||
|
||||
— Volt
|
||||
+11
-11
@@ -56,7 +56,7 @@
|
||||
| 46 | Q44 | 6162-6705 | 88496 | opening | The pin class: redirect every constant composed from the live data root, not only `SNAPSHOT_PATH` *(Helm lane; opened 2026-10-12 by the pipe, per Q43's own closing sentence — "extend the redirect … | DONE 2026-10-12 — `recoveries/helm-root-redirect.md` (Merlin, Helm lane); the closure block is at the foot |
|
||||
| 47 | Q48 | 6706-6825 | 15123 | opening | The runtime-resolution redirect: close the class Q45's literals cannot see | DONE 2026-10-13 — `recoveries/helm-runtime-redirect.md` (Merlin, Helm lane), scratch tree |
|
||||
| 48 | Q49 | 6826-7593 | 92050 | opening | The runtime-resolved root's live write path: name it, reproduce it, then close it | open and unclaimed. Opened by the pipe 2026-10-13 |
|
||||
| 49 | Q45 | 7594-10644 | 555094 | opening | §9 follow-on — the home-directory channel *(Helm lane; Merlin)* | OPEN — awaiting Alexander's zoom/whole-shop answer; build is the pipe's. |
|
||||
| 49 | Q45 | 7594-10657 | 560722 | opening | §9 follow-on — the home-directory channel *(Helm lane; Merlin)* | OPEN — awaiting Alexander's zoom/whole-shop answer; build is the pipe's. |
|
||||
|
||||
## Ids with no `## ` heading
|
||||
|
||||
@@ -71,9 +71,9 @@ Opened as records inside another section. `line` is the record's own opening lin
|
||||
| Q50 | 6990 | 6990 | 46 | Q49 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q51 | 7106 | 7106 | 37 | Q49 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q52 | 7167 | 7167 | 90 | Q49 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q53 | 7292 | 7246 | 156 | Q49 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q53 | 7292 | 7246 | 157 | Q49 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q63 | 9918 | 9909 | 17 | Q45 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q64 | 10308 | 10308 | 19 | Q45 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q64 | 10308 | 10308 | 20 | Q45 | BULLET+BOLD | BOLD-LEAD |
|
||||
|
||||
**Not in this document.** Ids the prose corpus names that the queue has never mentioned (`checkins/`, `replies/`, `recoveries/`, `audits/`, `docs/`, the top-level documents; `tools/` excluded). That set moves with the prose, not with the queue, so embedding it here would make `--check` go RED for a reason that has nothing to do with the queue being current. It is reported on demand: `python3 tools/queue_index.py --outside`.
|
||||
|
||||
@@ -218,7 +218,7 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"form": "BOLD-LEAD",
|
||||
"id": "Q53",
|
||||
"line": 7292,
|
||||
"refs": 156,
|
||||
"refs": 157,
|
||||
"section": "Q49",
|
||||
"shape": "BULLET+BOLD"
|
||||
},
|
||||
@@ -236,7 +236,7 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"form": "BOLD-LEAD",
|
||||
"id": "Q64",
|
||||
"line": 10308,
|
||||
"refs": 19,
|
||||
"refs": 20,
|
||||
"section": "Q45",
|
||||
"shape": "BULLET+BOLD"
|
||||
}
|
||||
@@ -246,9 +246,9 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"end_line": 8,
|
||||
"line": 1
|
||||
},
|
||||
"queue_bytes": 1447355,
|
||||
"queue_lines": 10644,
|
||||
"queue_sha256": "c0d70545436dab4070cecd1016044c1be8ba625740ad62c7155bd4b12c1bf6e2",
|
||||
"queue_bytes": 1452983,
|
||||
"queue_lines": 10657,
|
||||
"queue_sha256": "854f0b92831e488537a7ad20e75ce06938324e79a0470131fdfa741958475c36",
|
||||
"sections": [
|
||||
{
|
||||
"bytes": 3139,
|
||||
@@ -827,11 +827,11 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"title": "The runtime-resolved root's live write path: name it, reproduce it, then close it"
|
||||
},
|
||||
{
|
||||
"bytes": 555094,
|
||||
"end_line": 10644,
|
||||
"bytes": 560722,
|
||||
"end_line": 10657,
|
||||
"id": "Q45",
|
||||
"line": 7594,
|
||||
"lines": 3051,
|
||||
"lines": 3064,
|
||||
"role": "opening",
|
||||
"role_detail": "",
|
||||
"status": "OPEN \u2014 awaiting Alexander's zoom/whole-shop answer; build is the pipe's.",
|
||||
|
||||
Reference in new issue
Block a user