fix(server): A failed turn start no longer leaves the thread stuck starting#69
What Changed
Carries pingdotgg/t3code#14424 by @saphid. A run whose turn start gives up no longer stays starting forever. The last budgeted start or restart attempt fails the run for any failure, with a "Turn failed to start" error item, and a failed start is retried on the capped backoff instead of being dead-lettered just because its attempt budget ran out.
On the fork it is adapted onto contrib/ctm/exhausted-start-settlement: once that layer's durable repair marker is recorded, the repair owns settlement and retries without calling the provider again, and both paths settle the run's inherited work through the same guarded write.
Why
A store, projection or restart-interrupt failure on the last attempt dead-lettered the start effect and nothing owned the run, so the thread stayed working and its queued follow-ups never started. Drop this layer at the refresh after #14424 merges upstream.
Checklist
- This PR is small and focused
- I explained what changed and why
- I included before/after screenshots for any UI changes
- I included a video for animation/interaction changes
Added 1 commit
- fix(server): a failed turn start no longer leaves the thread stuck starting18f2b12