cmux-next: send again a prompt a dropped connection lost, behind a Debug toggle (off)
Leo: “oh last pic i meant wtf happened with teh connection interrupted situation”.
A prompt whose connection drops before acpmux acknowledges it can be sent again under its original journal prompt ID. The host replay stays behind agentPane.debug.lostPromptReplay, off by default; the page keeps its existing Retry behavior. This re-cuts the orphaned implementation and preserves both presence-detachment and resend-wait cleanup from the current base.
Permission groups wait for reconnect attach to read them again, without a transient disconnected/Refresh error or enabled answers while loading. The dormant web replay seams are retained; this does not wire automatic recovery into App or the composer.
Verification
- Test-first commit
03db6647acc114ad80f3e4063ed071d7180af4ea: fleet stepa00b67d828157709292ba7d6compiles and executes sevenAgentPaneUnsentPromptTests; the replay-on assertion fails (0 resends, expected 1), while replay-off and existing tests pass. - Final head
21bddf56275b5bbb87e269855144401137b5ba3c: fleet step76fe9bdd45cfa52a92d8e955compiles and passes all seven native tests. Run 40395496256 passes all 12 web resend tests plus full web lint/typecheck. Mac build24bb6b5132233e30a23f280csucceeds at that head. - Review (Codex gpt-6-astra xhigh): SHIP at 21bddf56275b5bbb87e269855144401137b5ba3c. Primary review agrees. The final diff retains presence detachment, prior-session resend cleanup, and queue-author behavior.
- Current-head checks have no pending or required-missing checks. The four gallery-health failures are inherited at “Render the gallery and judge it”; this PR changes none of that runner's files.
Before / after
The same native Debug-settings search is captured in light and dark modes. Base ce291147e2aafe3cca98ac600ac8e725f3ef1fc6 shows no matching setting; final head shows one unchecked control. These captures prove the visible default-off option, not a transient reconnect permission card.
Before: build 7ff1bf1dc6b7e99eafe44035, capture run 40401016011. The wrapper timed out before the run completed; its existing staged result was recovered without another capture.
| Before light | Before dark |
|---|---|
![]() | ![]() |
After: capture run 40398860400.
| After light | After dark |
|---|---|
![]() | ![]() |
Changelog
- Fixed: A Debug-only option can send an unacknowledged prompt again after a dropped connection, keeping its original identity.
Final-head native compile
After GitHub updated the branch to f2f77f9f820115cfe3da8588e06cf0bec45bfd5f, the exact-head Mac Release/dev build completed on aws-m4pro-3: job 33404a31d55042f59eb2bb5b, artifact SHA-256 58a2fcc83bbb3c11f0196c841dc7d46c6c1f57d6b5d627da252b777908e50058, state done, build phase 643.23s.
Agent session: agent session



