fork-trust: keep failed starts on the selected harness
A failed start of the selected harness now leaves the waiting message unsent. It cannot silently start the default harness or send the message to a previous chat. Successful starts keep their existing ordering.
Relevant notes:
It was codex? Not claude? Picker has some problems
If u don't trust it, u can't get it
The shared session-start path preserves a creation's failure and refuses empty results. Nine behavioral cases drive the real client against a mock protocol endpoint: rejected/empty starts with and without a previous chat, both direct sends and the app's separate session preflight, plus successful selected-harness delivery.
Observed / Not run
- Focused command through
cmux-ci test:bun test src/agent-session/acpmux/sessionStartFailure.test.tsfromwebviews/. - Initial regression, test-only commit
49cfcd1204b94b0d185f57508f366ac5d4715864: run 40482230069, four failing fallback cases and a passing success control. - Expanded preflight regression, commit
561c2866220a68861d3f39b8b956b93f6faab0b4: run 40483999047, the two empty-preflight cases fail, seven pass. - Final head
fc8e090afd3468d04437c0276aa2636845820d11: run 40484136695, nine pass, zero fail. The tested snapshot and PR head share tree6e7b2125a7c3b8aba9294eccbdee814efa144ea8. - Changed-file formatting/lint and prepush gate pass.
pr-overlapfound no overlapping open PR. - Full web lint stops on unchanged base
8ff9fcfca4ca5c77d6dbdf0f4e4e38efc55a4591issues: SendScrollSetting gallery type scale, channelsCard/store formatting, App hook dependencies, stale protocol generated methods. None of those files change here. - No capture: transport-only change; no layout or visual styling changes. Native app tests were not run.
- The earlier independent review identified empty-preflight fallthrough; the final head repairs it. Requested
lane-placereview and its documented review-router fallback were unavailable. An independent Codex runtime subagent with a fresh context at xhigh reviewed the final diff and call paths, without builds or edits.
Review (final_transport_review, Codex xhigh): SHIP at fc8e090afd3468d04437c0276aa2636845820d11
Agent session: agent session