Problem
After #5592 (#5589), session disposal no longer hangs on a refused or failed migration whose exit is never confirmed. But removal and archive of that workspace still fail closed at their 60 s drain deadline, with "Retry once the runtime responds", until the backend restarts. That is the intended rule (an unconfirmed stop blocks destructive cleanup). Still, the user has no way to recover short of a restart, for example a probe that confirms the command's process group is gone (#5589 option b).
Also: the failClosedAfterDrainTimeout option comment on BackgroundProcessManager.cleanup still says "Session disposal keeps waiting". Since #5592, disposal skips migrations whose command is stopping. The comment needs that one-line update. The final check of #5592 found it, and it was left out of that PR to stay within the review budget.
Fix direction (not decided)
Settle a stopping migration once a runtime probe confirms that its process (group) is gone, and keep the fail-closed rule when the probe cannot confirm it. Fix the doc comment in the same change.
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high • Cost: $44.17
Problem
After #5592 (#5589), session disposal no longer hangs on a refused or failed migration whose exit is never confirmed. But removal and archive of that workspace still fail closed at their 60 s drain deadline, with "Retry once the runtime responds", until the backend restarts. That is the intended rule (an unconfirmed stop blocks destructive cleanup). Still, the user has no way to recover short of a restart, for example a probe that confirms the command's process group is gone (#5589 option b).
Also: the
failClosedAfterDrainTimeoutoption comment onBackgroundProcessManager.cleanupstill says "Session disposal keeps waiting". Since #5592, disposal skips migrations whose command is stopping. The comment needs that one-line update. The final check of #5592 found it, and it was left out of that PR to stay within the review budget.Fix direction (not decided)
Settle a stopping migration once a runtime probe confirms that its process (group) is gone, and keep the fail-closed rule when the probe cannot confirm it. Fix the doc comment in the same change.
Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high• Cost:$44.17