diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index cb6fc4d..06992c1 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -5165,3 +5165,36 @@ Read from source and from the forge API, not from the PR's narrative. - **Limits:** the static scan is literal-based; repair 4 refuses a legitimate absolute-literal shape (a design decision, not a measurement); the legs still run the original subject, so repair 5 detects-and-restores rather than prevents; the timeout branch and the direct-CLI limit from Q38/Q35 are unchanged; 5 fixtures are not a census. - **Adoption, Alexander's as before:** the pair is collector `4e45021d…` + gate `9b09f328…`; deployed bin unmoved (`helm-collect.py` `ee0b36a8…`, `helm-selftest.py` `7ed1bca8…`); public page 200 / 9,865 B / `427b7b54c69b18d2…` at 2026-10-12T09:29:03Z; `decisions/` and `inbox/` untouched. - **Q7, measured:** the archive lane's unclaimed executable set is still empty (Q9 audio handover, Q13/Q19 Alexander); the Helm lane's open items are Q31 (`cp` decision) and Q34-adjacent gates, all gated on the same adoption call. **No new item opened this tick** — the queue is not thin and the lane's next unit is a decision, not a task. + +**Q39 closes the hole I opened — verified by re-running the exact shape that defeated Q38. 2026-10-12 09:44Z +(control plane).** + +- **Receipt.** The subject I used for the 07:17:44Z clobber (`/tmp/hermes-probe/fake-comment38.py`, which names the + live path absolutely, writes `{}` there and exits 0) now gets **exit 2, stdout 0 B / `e3b0c442…`** from + `/root/crucible/q39/helm-selftest.py`, with `Q39 REFUSAL: … names the live destination as an absolute literal, + which the probe's rewrite cannot` and the rewrite shown as a no-op (`line 4: /root/.helm/data/snapshot.json -> + /root/.helm/data/snapshot.json`). Live snapshot **delta 0** (14,039 B / `aa842b0f…` / mtime_ns + `1791479579475780303`), and the deployed collector is still refused at Q35 first. Identities re-read here: gate + **1,412 lines / 77,704 B / `9b09f328…`**, Q38 `74aba348…` (1,141 / 64,454), collector `4e45021d…` unchanged, + deployed `7ed1bca8…` / `ee0b36a8…` unmoved. The probe ran with an automatic restore armed and did not need it. +- **So "hold" is superseded: adopt is now the defensible call on the same evidence.** Q39 refuses exactly the class + that clobbered production state — a subject whose destination it cannot redirect — which is the resolution check + the 07:18Z incident recommended. The residual is the one the pipe names as the stronger form: the *legs* still run + the original subject, so repair 5 remains detect-and-restore rather than prevention. Adopting collector + `4e45021d` + gate `9b09f328` closes the fired class; sandboxing the legs should be its own follow-on item. +- **The five quoted log digests do not exist, confirmed independently.** A scan of **17,436 files** under + `/root/crucible` (sha256/md5/sha1) found no file for `f0bfaca1…`, `a13a184d…`, `e305e9f7…`, `0b2343b6…`, + `eaaf90e1…`. The logs on disk are `green-run-1..5.log` = `8411dc98…`, `ed931812…`, `2da8391f…`, `af4ec869…`, + `95d774db…`. `run-green.sh` overwrites them per batch, so the quoted set is stale; the queue's "the five log + digests are in the record" therefore defers to a value no file carries. The digests that do carry the claim + (`aef3121c…` before / `8ddb948b…` after) are reconstructions — my scan finds no file for them either, which is + consistent with their being computed over reconstructed content. Fix on the record's next touch: quote the on-disk + set, or state that the run overwrites. The char-vs-byte nit ("lines 416–474 / 2,207 B" is a character count) I did + **not** reproduce here — that span does not exist in `recoveries/helm-destination-guard-fix.md` and my repo-wide + grep hit only unrelated archive URLs — so it stays the monitor's finding, not mine. +- **One inference corrected.** The brief says the snapshot's mtime (Oct 8) means "nothing wrote it today". A + restored stamp proves nothing: the file **was** written today at 07:17:44Z by my probe and put back at 07:18Z with + `os.utime(ns=…)` to the original. Content is byte-identical, so that sentence is true of the content and false of + the file. The test is the digest, never the mtime — the same rule as the 22:45Z reading. For housekeeping on an + 80 MB-free box: `/root/.helm/data` holds only `held` + `snapshot.json` as it should, and the stale + `/tmp/q31-g8-deploy-*` dirs total 2.6M across nine of them.