Jason ran run.sh (sha256 c609c682) from a human shell on fe5c68fa,
2026-10-11T18:32:45Z to 18:32:54Z. The PM launched coder r2810c6373900,
recorded by pm in the launch log, and mosaic agents shows it.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
78 lines
4.7 KiB
Markdown
78 lines
4.7 KiB
Markdown
# 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 <run>`. | 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
|
||
```
|