A foreground bash call with runon now replies within the usual foreground wait window even when the build server is slow to accept the job, handing back the background task id with "do not rerun" guidance instead of holding the reply until the client gave up.
A bash request that hits the client's own request deadline after it was sent now says its outcome is unknown and must not be rerun; a deadline before the request was sent keeps the bare timeout text.
Background launches, blocking waits, and jobs the runner accepts within the window keep their existing behavior.
Confidence Score: 5/5
The PR appears safe to merge; no actionable issues were found.
Summary
Foreground bash calls with runon now stop waiting for runner acceptance when their foreground window ends.
Foreground remote commands get a task ID when runner admission takes too long.
Sent bash requests that time out warn callers not to rerun.
No actionable issues found. Tests were reviewed but not run.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["Foreground bash with runon"] --> B{"Runner accepts within window?"}
B -->|Yes| C["Keep normal foreground reply"]
B -->|No| D["Return task ID and do-not-rerun guidance"]
D --> E["Promote task to background"]
E --> F["Deliver completion on the same task"]