Cursor Bugbot on the previous commit: Effect.catch sat outside Effect.repeat, and Effect.repeat terminates a failing effect, so the first transient read or utimes error stopped the heartbeat for the rest of the process. Once the heartbeat stops, the lock it protects can be reclaimed out from under a live holder. Recovery now lives inside the round: each tick is caught individually, and the repeat wraps the recovered tick. Verified: serverSingleton suite 14/14, typecheck exit 0.
NoahLinckeScout committed on 9/14/2026, 8:27:20 PMparent5dd4ca7
2 files changedLine totals unavailable