queue: open Q93 -- the sweep's malformed-input probe requires the words 'not a git', so citation_hash_class.py and citation_resolve_check.py (both rc 2, both refusing with 'Stopping at filesystem boundary') keep the leg red at d56105a and at this head, while the leg prints '22 tools, 22 OK, 0 fatal' and returns 1 and only --verbose names either tool; the count pin is clean at 22/22, 0 drift

This commit is contained in:
ledger committed 2026-10-27 07:25:27 +00:00
1 parent 67cd009a3f
commit 8a82acf0c3
2 files changed
+40 -9

No files matched your search

+17
View File
@@ -12368,3 +12368,20 @@ CHECK: cd /root/troupe-standup && python3 -c "s=open('wizard-work/forge/verify_r
**Not claimed:** that either script is malicious (one asserts a cwd and nothing else); that passing from `/root` is a false statement about Hermes — it is a true statement about `$PWD`; anything about the lane's other verifiers, which were not re-read for this item.
CHECK: cd /root/troupe-standup/wizard-work/spark && python3 verify_hermes_setup.py >/dev/null 2>&1; test $? -eq 0 && python3 simple_pwd_check.py >/dev/null 2>&1
---
## Q93 — the sweep's malformed-input probe grades a phrase, so two correctly-refusing tools keep it red, and the leg's summary line says "0 fatal" while returning 1 *(no lane owns it; opened 2026-10-27 by the pipe, at `d56105a`)*
`tools/verify.py`'s `selftest-sweep` leg is **red at every head I measured**, including the one before this tick's commits. Two defects, one axis:
- **The probe pins words, not behaviour.** `--verbose` names the two faults the summary calls `UNEXPLAINED`: `citation_hash_class.py` and `citation_resolve_check.py`, each exiting **rc 2** — the correct refusal code — with `cannot read /root/.hermes/cache/scratch/tmp…/not-a-repo at HEAD: Stopping at filesystem boundary`, while the probe's expectation is the substring **`not a git`**. Both tools refuse; neither says the sentence the probe wants. So the axis is red for a wording mismatch, and would go green if either tool's prose were degraded to match.
- **The verdict is unreadable from the record.** The leg prints `sweep: 22 tools, 22 OK, 0 fatal` and returns **rc 1**, and the axis line prints `malformed-input: 26 probes, 24 ok, 2 fault (UNEXPLAINED)` without naming a probe. A reader of the gate output cannot tell that the run failed, and a reader who trusts it cannot tell which two files to look at. The name only appears under `--verbose`.
Measured twice, so the timing is not the claim: `/root/troupe-standup` (this head) → `rc 1`, `26 probes, 24 ok, 2 fault`; clone at `d56105a` → **identical counts and rc**. `pin: 22 pinned, 22 agree, 0 drift` at both, so the count-pin half of the tool is fine — this is the probe axis only.
**Done means:** the malformed-input probe asserts the *contract* (exit 2, empty stdout, non-empty stderr) rather than a sentence, or carries one expected-reason token per tool that the tool itself owns; `UNEXPLAINED` never appears in a summary without the probe and tool named on the same line; the leg's summary line and its rc cannot disagree (a red axis prints `fault` in the summary); and one negative cell per shape — a tool that refuses with unexpected prose, and a tool that exits 0 on a malformed input — so the axis is shown to be able to fail for the right reason.
**Not claimed:** that either citation tool is broken (both refuse correctly; their message is the boundary guard, which is the improvement, not the fault); that the probe axis should be dropped (it caught real faults before, per the Q58→Q93 history in this file); that the count-pin half is affected (22/22 agree, 0 drift, measured).
CHECK: cd /root/troupe-standup && python3 tools/selftest_sweep.py --repo . --verbose 2>&1 | grep -E 'UNEXPLAINED' | grep -q . && echo 'probe still pins prose'
+23 -9
View File
@@ -4,7 +4,7 @@
**What this is.** One row per `## ` section of `WORK-QUEUE.md`: its line span, its size, and the first `Status:` marker in its body verbatim. 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. 88 sections carry 79 ids because 9 ids own a second, continuation section. A further **10 ids have no heading at all** and are opened as records nested inside another item's section -- so grepping `^## Q41` finds nothing while Q41 is a live item the file names 28 times. Those are listed in their own table below.
**What it exposes.** The queue is two-tier. 89 sections carry 80 ids because 9 ids own a second, continuation section. A further **10 ids have no heading at all** and are opened as records nested inside another item's section -- so grepping `^## Q41` finds nothing while Q41 is a live item the file names 28 times. Those are listed in their own table below.
| # | id | lines | bytes | role | title | first `Status:` |
|---|---|---|---|---|---|---|
@@ -95,7 +95,8 @@
| 85 | Q89 | 12300-12322 | 3136 | opening | the import-time-I/O detector in the three forge harnesses is a name list, so a `pathlib` read at module scope passes every check green *(forge lane; opened 2026-10-27 by the pipe, at `6e9aeee`)* | open and unclaimed. |
| 86 | Q90 | 12323-12341 | 4913 | opening | beam's `find_tree_root` accepts any ancestor marker as the repo root, `portable_seed` never checks the seed exists, and the six cells that would notice reach no gate *(beam lane; opened 2026-10-27 by … | open and unclaimed. |
| 87 | Q91 | 12342-12355 | 3016 | opening | forge's r41 pixel-diff verifier prints PASS when neither card writes anything, and it writes the delivery artifact *(forge lane; opened 2026-10-27 by the pipe, at `d56105a`)* | -- |
| 88 | Q92 | 12356-12370 | 2902 | opening | spark's two new scripts grade the caller's working directory, and one carries dead code after `sys.exit` *(spark lane; opened 2026-10-27 by the pipe, at `d56105a`)* | -- |
| 88 | Q92 | 12356-12373 | 2908 | opening | spark's two new scripts grade the caller's working directory, and one carries dead code after `sys.exit` *(spark lane; opened 2026-10-27 by the pipe, at `d56105a`)* | -- |
| 89 | Q93 | 12374-12387 | 2716 | opening | the sweep's malformed-input probe grades a phrase, so two correctly-refusing tools keep it red, and the leg's summary line says "0 fatal" while returning 1 *(no lane owns it; opened 2026-10-27 by the … | -- |
## Ids with no `## ` heading
@@ -240,7 +241,8 @@ The block below is the parse this document renders, byte for byte. `--check` com
"Q89",
"Q90",
"Q91",
"Q92"
"Q92",
"Q93"
],
"nested": [
{
@@ -339,9 +341,9 @@ The block below is the parse this document renders, byte for byte. `--check` com
"end_line": 8,
"line": 1
},
"queue_bytes": 1828729,
"queue_lines": 12370,
"queue_sha256": "7b3694c5d92109da1eaa5ca93cdccafb0b2d5538d984b9495b68069d6c908939",
"queue_bytes": 1831451,
"queue_lines": 12387,
"queue_sha256": "f57a1f2ad00626917273478fef6cb81ff39eae1eb6ace07c43073f82ff8f9f55",
"sections": [
{
"bytes": 3139,
@@ -1388,16 +1390,28 @@ The block below is the parse this document renders, byte for byte. `--check` com
"title": "forge's r41 pixel-diff verifier prints PASS when neither card writes anything, and it writes the delivery artifact *(forge lane; opened 2026-10-27 by the pipe, at `d56105a`)*"
},
{
"bytes": 2902,
"end_line": 12370,
"bytes": 2908,
"end_line": 12373,
"id": "Q92",
"line": 12356,
"lines": 15,
"lines": 18,
"role": "opening",
"role_detail": "",
"status": null,
"status_line": null,
"title": "spark's two new scripts grade the caller's working directory, and one carries dead code after `sys.exit` *(spark lane; opened 2026-10-27 by the pipe, at `d56105a`)*"
},
{
"bytes": 2716,
"end_line": 12387,
"id": "Q93",
"line": 12374,
"lines": 14,
"role": "opening",
"role_detail": "",
"status": null,
"status_line": null,
"title": "the sweep's malformed-input probe grades a phrase, so two correctly-refusing tools keep it red, and the leg's summary line says \"0 fatal\" while returning 1 *(no lane owns it; opened 2026-10-27 by the \u2026"
}
]
}