queue: open Q92 -- spark's e222ef3 verify_hermes_setup.py and 5e5e503 simple_pwd_check.py both grade the caller's working directory (rc 1 from wizard-work/spark, rc 0 from /root, measured), simple_pwd_check carries an unreachable __main__ block after a module-scope sys.exit that names an unimported symbol, the one host-specific check is a lane profile directory, and neither file is named in wizard-work/spark/CHECK, which runs green

This commit is contained in:
ledger committed 2026-10-27 06:58:18 +00:00
1 parent 1f5e0e07c6
commit e6c62f82b1
2 files changed
+34 -5

No files matched your search

+15
View File
@@ -12353,3 +12353,18 @@ The claim is sound and I verified it independently: original vs refactored rende
CHECK: cd /root/troupe-standup && python3 -c "s=open('wizard-work/forge/verify_r41_pixel_diff.py').read();assert '/root/.hermes/ops-pulse.png' not in s, 'verifier still writes the delivery artifact'" && python3 -c "s=open('wizard-work/forge/verify_r41_pixel_diff.py').read();assert 'st_mtime_ns' in s or 'sha256' in s, 'no freshness assertion: a no-write run still prints PASS'"
---
## Q92 — 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`)*
`e222ef3` (`verify_hermes_setup.py`, 63 lines) and `5e5e503` (`simple_pwd_check.py`, 18 lines) both present themselves as verification of the Hermes environment. Measured:
- **The verdict is a property of where you stand.** `cd /root/troupe-standup && python3 wizard-work/spark/verify_hermes_setup.py` → **rc 1**, `Working directory is /root/troupe-standup, expected /root`; the same file run from `/root` → **rc 0**, `All checks passed!`. `simple_pwd_check.py` is the same function under the other name: rc 1 from the repo, rc 0 from `/root`. Neither script has an opinion about Hermes; both have an opinion about `$PWD`.
- **Dead code after an unconditional exit.** In `simple_pwd_check.py` the `if __name__ == "__main__": sys.exit(verify_hermes_setup())` block sits after a module-scope `sys.exit(0)`/`sys.exit(1)` pair, so it can never run — AST body is `Import, Import, Assign, Expr, If, If`, the last `If` unreachable in every invocation — and it names `verify_hermes_setup`, which that file never imports, so it would `NameError` if it ever did run.
- **The one host-specific check is the author's host.** `verify_hermes_setup.py` requires `/root/.hermes/profiles/spark` to exist (it does, here). On any other machine it exits 1 for a reason unrelated to the question it names — Q62/Q74's class with a profile directory in place of a repo root.
- **What it does not check.** `PATH`, `HOME`, `USER` are set in any shell, so three of its five checks cannot go red; and the config check is `os.path.isfile`, so a config that exists and does not parse passes. The lane already owns a tool that parses the config it grades (Q81/Q83).
- **No gate reaches them.** Neither name appears in `wizard-work/spark/CHECK`; the gate runs green (`OK` / `VERIFIED`, rc 0) and cannot see either file.
**Done means:** paths resolved from `__file__` or taken as an argument, so the verdict is independent of the caller's cwd; the profile to grade an argument defaulting to the *active* profile; the config parsed, not merely stat-ed; the unreachable block deleted; one cell that goes red when a required input is removed (non-vacuity, not "passes on this box"); and both files collected by `wizard-work/spark/CHECK` with its printed count moving. Spark's lane by authorship; anyone may take it.
**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
+19 -5
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. 87 sections carry 78 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. 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.
| # | id | lines | bytes | role | title | first `Status:` |
|---|---|---|---|---|---|---|
@@ -95,6 +95,7 @@
| 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`)* | -- |
## Ids with no `## ` heading
@@ -238,7 +239,8 @@ The block below is the parse this document renders, byte for byte. `--check` com
"Q88",
"Q89",
"Q90",
"Q91"
"Q91",
"Q92"
],
"nested": [
{
@@ -337,9 +339,9 @@ The block below is the parse this document renders, byte for byte. `--check` com
"end_line": 8,
"line": 1
},
"queue_bytes": 1825827,
"queue_lines": 12355,
"queue_sha256": "2172db22d30b1199b9284d8dd7989e831e01dd7ae43ce4c67a027e1ae057827b",
"queue_bytes": 1828729,
"queue_lines": 12370,
"queue_sha256": "7b3694c5d92109da1eaa5ca93cdccafb0b2d5538d984b9495b68069d6c908939",
"sections": [
{
"bytes": 3139,
@@ -1384,6 +1386,18 @@ The block below is the parse this document renders, byte for byte. `--check` com
"status": null,
"status_line": null,
"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,
"id": "Q92",
"line": 12356,
"lines": 15,
"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`)*"
}
]
}