# Row 41 (#1523): the recorded acceptance run Author: Filbert, the row's owner, at Sage's request. Sage is the gate owner. Jason ran `run.sh` from an ordinary terminal on 2026-10-11 (Q57). Agent seats can't run it, because `talk` and `agents` refuse inside an agent (REQ-DEC-3). ## Verdict **Met.** The queue gate's last part is "recorded PM launch of a coder". The brief's Gate puts it as "a recorded run where the PM launches a coder session and `mosaic agents` shows it". `run/run.log` meets it. The brief's "What ships" list has items this run does not exercise. They are listed as misses below. The gate doesn't ask this run for them, and they are not claimed from it. The gate's other two parts are outside this log: Darkwing approved round 4 in comment 27034 on manifest `08a78972…`, and the suites ran on Sage's gate. ## What ran - `run/run.sh`, sha256 `c609c682…`, the same bytes Sage gave Jason. - It ran in `~/filbert-scratch/r41a`, a detached worktree that is clean at `fe5c68fa`. All 42 entries of `candidate-manifest.sha256` (`08a78972…`, the approved round 4 candidate) check OK there. - It used a scratch config and data root with business `acme`, placeholder token files and no tracker. The live `mosaic-bus@mosaic-stack` unit was not used. - `run/host.out` and `run/acme.jsonl` are byte-equal to the copies that `run.log` prints at lines 33–37 and 53–56. ## The gate, line by line | Criterion | run.log | Met | |---|---|---| | A recorded run | 1–2: start `18:32:45Z`, commit `fe5c68fa`. 57: end `18:32:54Z`. Every step's exit code is logged. | yes | | From a human shell | 10, 16, 21: `agents` and `talk` exit 0. Inside an agent they exit 3. | yes | | The PM launches | 14–15: the PM replies that its launch tool returned `r2810c6373900`. That reply is the PM's own claim. The proof is lines 25 and 54: the host records `r2810c6373900` as launched `by pm` (`launchedBy":"pm"`). | yes | | A coder session | 25, 54: instance `coder`, claude-code, claude-sonnet-5-5. 36, 56: it ran until the stop. | yes | | `mosaic agents` shows it | 19: `coder r2810c6373900 claude-code since 2026-10-11T18:32:50.389Z` | yes | `launchedBy` is not taken from anything the PM says. The host asks the broker for the identity behind the session's capability (`packages/cli/src/launcher.mjs` 253) and records that role (278). The `jason` on line 53 is the business's human: the `--pm` start has no caller capability (launcher.mjs 29, 294). ## "What ships", against this log | Item | run.log | Met by this run | |---|---|---| | The stack launches the PM without a window | 4–6: `bus start acme --pm` gives `launched pm: run r4ce932f8e049`. 53: launched by `jason`. | yes | | `mosaic talk` reaches it | 12–16: sent `6af7087a`, RESULT `7ec84e44` in reply, exit 0 | yes | | Every launch logged | 53–56: both launches and both ends. Lines 24–25 agree. | yes, for the two launches in this run | | The PM launches through the broker, within `launch` | 25, 54: the launch went through the host and was allowed. No refusal, and no `launch.max` limit, was exercised. | only the allowed path | | Role instances only; at most 4 Opus and 4 Sonnet | none | no | | One word from Jason stops new launches (`mosaic launches off`) | none | no | | `mosaic stop` ends a running session | none. Line 28 is `mosaic bus stop`, which stops the host and every session (35–36), not `mosaic stop `. | no | | Founder credentials only: the session stops (REQ-CRED-2) | none | no | | Bundles for Pi, then Claude Code | 6, 25: Claude Code only. No Pi session ran. | Claude Code only | | Sage's T3 thread hands over; the product no longer depends on T3 | none. This run shows the mechanism (lines 4–16) but not a handover. | no | The run also left nothing behind: 40 no process names the scratch root, 43 `no sessions`, 47–49 host none, socket absent, writer.lock absent. 55–56: both sessions ended `stopped` with exit 0. ## Files The copies are byte-equal to the originals in `~/filbert-scratch/r41run/`. Before committing, I checked each copy in-process against all 18 placeholder token files under the scratch `secrets/` directories (this run and the dry run). No token value appears in any copy, and none was printed. There are no UUIDs, tracker hosts, email addresses or IP addresses. The only "token" match is run.sh's comment "placeholder token files". The home path in socket paths is the same one already in many committed records. ``` c609c682002c7801727e915a1e6376998652f4146e5485189643e0b1e19924a3 run/run.sh a1197cddb549f3ee75f856ff8aff579d28f90ffac836af6ccba4daa31f918480 run/run.log 1d14be21cec0d5fafd01d304662ed29cfa38a9ab2d7600b9230a2e539b76628b run/host.out d3496d18cd2ff19f7e4d7f09afb3a49288201825012c59379ebd3494349feaa7 run/acme.jsonl ```