From 077287455d3302048dcfcadea56f9dc4d9fefa7c Mon Sep 17 00:00:00 2001 From: Destin Date: Wed, 2 Sep 2026 07:08:56 -0700 Subject: [PATCH] docs(roadmap): file the macOS-only background-notice flake; close out session C youcoded#384 went green on Ubuntu, Windows and Android and red on macOS, on a test 1,300 lines away from anything the branch touched. A plain re-run of the identical commit passed. Filed rather than fixed: the notice arriving without the command's own stdout may be a test race OR a real race in the finished-notice composer, in which case a user on a slow machine sees a background command report finished with none of its output. That needs a macOS reproduction to tell apart, and guessing would hide the second possibility. Handoff updated with both merge commits and the evidence that the macOS leg was already flaky on master hours earlier (run 33615851775, sync-spaces-engine). Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01T9SRtMoZJNF4sJrodQa1N1 --- ROADMAP.md | 2 +- .../handoffs/2026-09-02-session-c-report.md | 32 ++++++++++++++++++- docs/roadmap/dev-workspace.md | 8 +++++ 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index 132f5545..75328bc6 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -43,7 +43,7 @@ Target: `v1.3` | Area | Open | Needs verify | Decisions | Parked | |---|---|---|---|---| | [native-harness](docs/roadmap/native-harness.md) — the app's own agent doing work | 51 | 8 | 0 | 16 | -| [dev-workspace](docs/roadmap/dev-workspace.md) — building the app, not the app | 39 | 19 | 0 | 8 | +| [dev-workspace](docs/roadmap/dev-workspace.md) — building the app, not the app | 40 | 20 | 0 | 8 | | [user-interface](docs/roadmap/user-interface.md) — shared primitives, chrome, layout, copy | 27 | 17 | 0 | 5 | | [files](docs/roadmap/files.md) — documents the user opens, edits or organises | 21 | 5 | 0 | 9 | | [marketplace](docs/roadmap/marketplace.md) — finding, installing and rating plugins and themes | 18 | 6 | 0 | 3 | diff --git a/docs/active/handoffs/2026-09-02-session-c-report.md b/docs/active/handoffs/2026-09-02-session-c-report.md index 6ae70863..b4ff3635 100644 --- a/docs/active/handoffs/2026-09-02-session-c-report.md +++ b/docs/active/handoffs/2026-09-02-session-c-report.md @@ -7,7 +7,8 @@ topic: overnight session C — making the verification tooling honest # Session C — the verification tooling now tells the truth about itself -**PRs:** youcoded#384 (the app's test tree) · youcoded-dev#19 (the workspace tooling). +**PRs, both MERGED:** youcoded#384 -> `da955301` (the app's test tree) · youcoded-dev#19 -> +`ba0566c` (the workspace tooling). Headless throughout — no dev window, no `run-dev.sh`. The short version: **three of the eight filed items were already fixed on `master`** and only @@ -283,3 +284,32 @@ worst. 5. **Type-aware ESLint rules on `tests/**`** — blocked on (1). 6. **`docs/roadmap/dev-workspace.md`'s macOS sync-spaces flake** was not touched; it needs the macOS CI leg, which this machine is not. + + +--- + +## Addendum — the one CI failure, and why it was not mine + +youcoded#384's first run went green on Ubuntu, Windows and the Android leg, and **red on macOS**: + +``` +FAIL tests/native-session-host.test.ts > G-1 background Bash > a finished run is injected ONCE … +AssertionError: expected '[Background command sh-4c82 finished …' to match + /^\[Background command sh-4c82 finished · exit 2 · \d+s\]\n\$ echo done; exit 2\ndone\nFull log: / +``` + +Three things established it was not this branch: + +1. **The diff does not reach it.** That test is at line 4969; every hunk this branch touches in + that file is between 2407 and 3631 (`git diff --stat` per hunk). +2. **The macOS leg is already flaky on master.** `master`'s own run 33615851775, five hours + earlier and with no PR involved, failed macOS on `sync-spaces-engine` — a separate, already-filed + entry. Ubuntu and Windows passed the same commit. +3. **A plain re-run of the identical commit passed**, no code change: macos-latest `success`. + The suite took 317 s on that runner against 37 s locally, which is the load signature. + +Filed as its own roadmap entry rather than fixed here, because the honest reading is not settled: +the notice arriving without the command's stdout may be a test race OR a real product race in the +finished-notice composer — in which case a user on a slow machine sees a background command report +finished with none of its output. Deciding that needs a reproduction on macOS, which this machine +is not, and guessing a fix would paper over the second possibility. diff --git a/docs/roadmap/dev-workspace.md b/docs/roadmap/dev-workspace.md index 29b6b97a..14881b35 100644 --- a/docs/roadmap/dev-workspace.md +++ b/docs/roadmap/dev-workspace.md @@ -4,6 +4,14 @@ seen-on is always n/a here. ## tests +- [ ] `native-session-host` "a finished run is injected ONCE as a user turn with injected: + shell-complete" fails on the macOS CI leg only: the finished-notice text arrives without the + command's own output ("done"), so the exact-match regex misses. Passed on a plain re-run of + the same commit, and the same suite is green in 27 local runs — but if it is real rather + than a test race, a user on a slow machine sees a background command report finished with + no output + `n/a` `needs-verify` `checked 2026-09-02` `regression` + - [ ] Coverage debt from the feature-flow build: nothing renders the contract table or its verdict column in a browser test, the close-out Contract section runs only locally so no unattended check guards it, and an empty verdict, a two-hash source, a corrupt verdicts file