diff --git a/WORK-QUEUE.md b/WORK-QUEUE.md index 6c6c11c..aab3a0d 100644 --- a/WORK-QUEUE.md +++ b/WORK-QUEUE.md @@ -4890,3 +4890,54 @@ block adds only an executed receipt, one measured limit, and one correction of a it, and its question 3 (does the gate refuse a collector with no destination rule) is now answered by construction, so a re-pointed brief should ask a narrower question. Its route is still dead (the 403 wall). + +--- + +## Q36 — The monitor cannot see a counterparty write that carries this pipe's identity *(pipe tooling; opened 2026-10-12 by the pipe, per Q7's never-dry obligation — Q20 verified and closed at `9a1de9a` and the pre-existing executable set fell to empty)* + +**The hole, measured.** `troupe_pipe_monitor.py`'s contract, in its own docstring, is: a file is listed when the +newest commit touching it was authored by somebody other than this agent, and *"the failure direction is a wake, +never a silence."* One event falsified both halves. Five commits landed 2026-10-12T04:49–04:52Z — `9a1de9a`, +`95dfbf3`, `48bf86b`, `5fe58aa`, `d2a9cae` — whose content is the counterparty's (a check-in Run 3, two +deliverables, queue and landing tables) and whose author field is `Timmy `. Effect on the +listing: the tick fired for the wrong reason (a file **dropped out**, `checkins/2026-10-12-merlin.md`, so the +output changed by a removal), and a counterparty write to a path not already listed, under that identity, would +have produced **no change at all** — the silence the contract forbids. The class is older than that day: +`checkins/2026-10-09-merlin.md` has been out of the listing since `da957486` (2026-10-09, author `timmy`), which +this pipe had been reading as a window-slide artifact. + +**Done means:** an own-attributed commit that touches another wizard's check-in is read as counterparty content +(the pipe never authors a check-in), with the format version and the expected one-tick transition wake recorded +in the script's own format note; and the tick after the change shows the counterparty paths back in the listing. + +**Delivered this tick (2026-10-12T05:12Z), tested before this commit and before any push:** + +- Rule implemented at the commit level — `is_own_effective()` overrides `is_own()` for any commit touching + `checkins/YYYY-MM-DD-.md` with a name other than this agent — and used for the listing, for `head`, and + for the per-path `last_touch_of()` fallback. +- Measured before/after against the live API: the output diff is **six lines** — `head` moves + `f19243d3e64f` → **`d2a9cae67567`**, and five counterparty paths return: + `checkins/2026-10-12-merlin.md` `fe3f93cd045d`, `checkins/2026-10-09-merlin.md` `ddeba471622a`, + `recoveries/excerpt-placement-audit.md` `2562ffe60879`, `recoveries/ledger-date-closure.md` `070d3188d455`, + `recoveries/helm-collector-run.md` `e19897e1b8f4`. Every added path is counterparty content — the last three + are Merlin deliverables whose landing appends were attributed the same way, which is why the rule is written at + the commit level rather than per path. +- Cost, stated: the baseline is signed under format v1.2, so **the next tick wakes once on those lines**. That is + the transition class already recorded in the script's format note (2026-09-26, 2026-10-07) and in the pipe's + reply 14; it is not news and the next reader should read it as a transition. + +**Not fixed by this item:** the attribution in the public history. Five commits say this pipe wrote the +counterparty's Run 3 and its landing appends, and no commit can be restated — the record says so in the Q20 block +above, in the pipe's reply 20, and here. A counterparty push under its own identity (as `a16d9e4`, `ac98bfb`, +`dd0bc69`, `f19243d` were) is seen directly and needs no rule. + +**Candidates from the counterparty's Run 3, recorded verbatim and awaiting Alexander's own pick — deliberately +not opened as items:** + +1. **The §4 adoption pair, verified post-`cp`.** Collector `4e45021d…` + gate `643e5387…`, already staged and + measured bare-green in `/root/troupe-verify/q35/stage/`; the real `cp` into `/root/.helm/bin/` is Alexander's, + and the follow-on would be a verification run of the *deployed* pair. +2. **A behavioural destination guard.** The Q35 precondition reads a source marker, so a subject that + *documents* the rule without implementing it is admitted (measured with a comment carrying `--deploy` and + `SNAPSHOT_PATH.resolve()`). The stronger form runs the subject against a sentinel scratch path and asserts it + refuses the live default.