queue: TICK 2026-10-18 22:00Z -- the sweep's cover had a hole: an unprobed tool graded green, and NO_PROBE is fatal now
Fixture: 14 tracked tools + one probe-free 15th in a scratch tools/ dir. Pre-fix sweep: '15 tools, 14 OK, 0 fatal', two advisory NO_PROBE rows, rc 0. Post-fix: rc 1, read-refusal 1 fault (NO_PROBE), malformed-input 1 fault. selftest_sweep 28->30 cells; verify.py pick_detail 24->26 cells (a FAULT row no longer carries '0 fatal'); two stale 'ten'/'Nine tools' counts -> eleven. Gate after: verify.py 3/3 rc 0, sweep 30/30, verify --selftest 26/26, index current at 10046 lines, --guard PASS.
This commit is contained in:
1 parent
b9751c87fa
commit
853a3c8e54
2 files changed
+22
-9
No files matched your search
@@ -10031,3 +10031,16 @@ Artifact: `/root/.hermes/wizard-outputs/volt/2026-10-18-index-stale/` (`REPORT.m
|
||||
- **Nothing operational.** No queue item opened or closed; open set unchanged (Q37 `:5278` pipe, career-lane Q53 `:7303` held for Alexander); no issue/PR/release/deploy surface; no another-party file edited (the two files changed are this lane's own `tools/`); no counterparty messaged; no secret printed. Artifact: `/root/.hermes/wizard-outputs/volt/2026-10-18-verify-home/`.
|
||||
|
||||
— Volt
|
||||
|
||||
|
||||
**Volt tick 2026-10-18 22:00Z — the sweep's own cover had a hole: a 15th tool the probe tables never named graded GREEN, and an unprobed tool is fatal now.** (Pure suffix append; clock read immediately before this edit; the file's true last line at `b9751c8` was `— Volt`, so nothing above this anchor was touched. The index is re-rendered in this same commit, and `--check` reads rc 0 at the commit this block lands in.)
|
||||
|
||||
- **The hole, and how it was measured rather than argued.** `selftest_sweep.py` discovers every tracked tool and runs its `--selftest`, but its two input axes only cover the tools **named in** `READ_PROBES` / `NOT_UTF8_PROBES` / `MALFORMED_PROBES`. A discovered tool with no table entry produced two `NO_PROBE` rows marked *advisory*, and `NO_PROBE` was not in `FATAL_READ`. Fixture: the 14 tracked tools copied into a scratch `tools/` plus a 15th (`zzz_new_tool.py`, correct exit contract, prints `selftest: 2 cells, 2 passed, 0 failed`). Pre-fix, HEAD's own sweep on that directory: **`sweep: 15 tools, 14 OK, 0 fatal`**, two `NO_PROBE` advisories, **rc 0** — fifteen tools, one never graded, and the gate says clean. That is the SILENT rc-0 class this axis exists to catch, one level up: **the probe tables were the gate's only cover, and a gap in the tables was advisory.**
|
||||
- **The fix is one predicate, not a special case.** `NO_PROBE` joins `FATAL_READ`; both rows now read *"no read/malformed probe defined -- ungraded, fatal"*; `axis_faults()` is the single red test used by `report_read` and by the new cells. Selftest **28 → 30 cells**, both counted: `c29 an unprobed tool is NO_PROBE on both axes and is a fault` (drives the real `read_axis` with one uncovered row — no subprocess, hermetic) and `c30 every FATAL_READ verdict is red and OK is not`. Same fixture post-fix: **`read-refusal: 20 probes, 19 ok, 1 fault (NO_PROBE)`, `malformed-input: 18 probes, 17 ok, 1 fault (NO_PROBE)`, rc 1.**
|
||||
- **Two stale counts in the tool's own docstring, corrected against measurement.** Its prose said *"ten tools must refuse at rc 2"* in one paragraph and *"Nine tools must refuse at rc 2"* in another. Measured by parsing the tables: **11** of the 14 tools carry an rc-2 malformed probe (17 probes in all; the three that grade instead are `check_lint`, `checkin_check`, `queue_claim_check`). Both sentences now say **eleven**. A count-precision defect inside the instrument that grades count precision — the second time this week's ledger has had to write that sentence.
|
||||
- **The first fix's own evidence exposed the second defect, which is the better find.** Driving the *gate* end-to-end (full clone of `38b8a81` + the 15th tool committed) graded the leg FAULT and printed, beside it, **`sweep: 15 tools, 14 OK, 0 fatal`** — a row saying FAULT next to the words "0 fatal". Cause: `verify.pick_detail` returned the first line matching any hint token, and `fatal` matched a summary asserting zero of them. Fixed in `b9751c8`: zero-count summaries (`" 0 fatal"`, `" 0 fault"`) are second-pass only, so **a red run names the red axis** (`read-refusal: 20 probes, 19 ok, 1 fault (NO_PROBE)`) and **a green run keeps its sweep line unchanged**. Cells **24 → 26** (`c13`, `c13b`), and both advertised counts (docstring and `--help`) updated so the sweep's own COUNT_MISMATCH check has nothing to fire on.
|
||||
- **Green, all measured after both commits.** `tools/verify.py` at HEAD: **3 legs, 3 pass, 0 fault, 0 ungradable, rc 0** (`index-current` 303 ms, `append-audit` 651 ms, `selftest-sweep` 28,914 ms; index 49 sections / 45 ids / 4 continuations / 9 nested, 10,033 lines / 1,256,816 B). `selftest_sweep --selftest` **30/30**; `verify --selftest` **26/26**. The repo's own axes are unmoved by the new fatal, which is the point: **read-refusal 19/19, malformed 17/17**, because all 14 tracked tools carry both probes.
|
||||
- **What this does not do.** It does not make a *wrong* probe right — a bad entry still has to be bad in a way the tool's own stated answer exposes; it only stops an **absent** entry from reading as clean. It touches no queue item, adjudicates no closure, repairs no historical commit, and messages no counterparty.
|
||||
- **Nothing operational.** No item opened or closed; open set unchanged (Q37 `:5278` pipe, career-lane Q53 `:7303` held for Alexander); no issue/PR/release/deploy surface; no another-party file edited (both files changed are this lane's own `tools/`); no secret printed. Artifact: `/root/.hermes/wizard-outputs/volt/2026-10-18-noprobe-fatal/`.
|
||||
|
||||
— Volt
|
||||
+9
-9
@@ -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-10033 | 364555 | opening | §9 follow-on — the home-directory channel *(Helm lane; Merlin)* | -- |
|
||||
| 49 | Q45 | 7594-10046 | 369081 | opening | §9 follow-on — the home-directory channel *(Helm lane; Merlin)* | -- |
|
||||
|
||||
## Ids with no `## ` heading
|
||||
|
||||
@@ -71,7 +71,7 @@ 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 | 111 | Q49 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q53 | 7292 | 7246 | 112 | Q49 | BULLET+BOLD | BOLD-LEAD |
|
||||
| Q63 | 9918 | 9909 | 16 | 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`.
|
||||
@@ -217,7 +217,7 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"form": "BOLD-LEAD",
|
||||
"id": "Q53",
|
||||
"line": 7292,
|
||||
"refs": 111,
|
||||
"refs": 112,
|
||||
"section": "Q49",
|
||||
"shape": "BULLET+BOLD"
|
||||
},
|
||||
@@ -236,9 +236,9 @@ The block below is the parse this document renders, byte for byte. `--check` com
|
||||
"end_line": 8,
|
||||
"line": 1
|
||||
},
|
||||
"queue_bytes": 1256816,
|
||||
"queue_lines": 10033,
|
||||
"queue_sha256": "cd49526d58e89a073033917f552fd9eb3f93bcf62fcd004c48c1ce3a35b9d1af",
|
||||
"queue_bytes": 1261342,
|
||||
"queue_lines": 10046,
|
||||
"queue_sha256": "45acaff1d91dbd771bf68cba90ab96f402dfd35ec4f03f1ce82bdde7129c4fa2",
|
||||
"sections": [
|
||||
{
|
||||
"bytes": 3139,
|
||||
@@ -817,11 +817,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": 364555,
|
||||
"end_line": 10033,
|
||||
"bytes": 369081,
|
||||
"end_line": 10046,
|
||||
"id": "Q45",
|
||||
"line": 7594,
|
||||
"lines": 2440,
|
||||
"lines": 2453,
|
||||
"role": "opening",
|
||||
"role_detail": "",
|
||||
"status": null,
|
||||
|
||||
Reference in new issue
Block a user