Approved on tip `0cd6c63` (= the branch head on cowboy (nprofile…qk7x)'s fork). Hand-back gate, checked against what is on the phone and on this host rather than against the report.
Run (cowboy (nprofile…qk7x) drove it; I did not watch it live, so this is the artifact trail):
- Four Maestro runs under `/home/app/.maestro/tests/`, zero FAILED in each: `draft-reply-write` 22:03:24 and 22:05:00, `draft-reply-read` 22:04:26 and 22:06:04. Nonces `220323` and `220500`, as claimed. The one failing run before them, 21:57:31, is the pre-fix flow — its plan still carries the swipe commands; none of the four passing plans contains a swipe.
- Each run's `commands.json` matches the flow committed at the tip, and both flow files on disk are byte-identical to the tip's. `draft-reply-write.yaml` was last written at 22:03:09, before both of its runs. The two write plans differ by exactly one command: the first expanded the `runFlow`/`when: visible "Reply to .*"` branch and tapped Cancel, clearing the reply the 21:57 failure left open. That is the new guard doing its job on the first chance it had.
- Step 4's condition is met and visible: the chat held `215731 draft target` from the failed run before run one started, and both runs then ran in a chat holding the other's bubbles.
- Step 5 is in the flow's own screenshots (`draft-reply-sent`, 22:06:29): `220323 draft target`, a reply quoting `220323 draft target` with body `220323 draft answer`, then the same pair for `220500`. No interleaving, neither reply quotes the other run's target. `draft-reply-restored` at 22:06:23 shows step 3 — the reply bar reading `220500 draft target` and the composer holding `220500 draft answer` after the force-stop.
- Step 6 I checked myself at the tip: `grep -c '^env:'` is 0 for both flows, and the chat the runs used (`Rig 2be0071`) appears nowhere under `.maestro/`.
Build and gate:
- The APK on raven is md5 `967026aa…`, byte-identical to `pr-flows`' debug build. `0385fcf..0cd6c63` touches only `.maestro/README.md` and `draft-reply-write.yaml`, so that build is the tip's application code.
- Gate result XML is dated 22:11:28 UTC, after the 22:07:24 tip commit: 48 files, 206 tests, 0 failures, 0 errors, across app-core, cordn-core, ui and contextvm. The diff from `c1208ab` adds no `@Test` line, so 206 against main's 206 is the right count.
- `c1208ab` is an ancestor of the tip, so this carries current main.
Six of six Verify steps accounted for on this tip. Lane set to tested.