Files
PaperClipAI/server/src/services
DottaandClaude Opus 5.5 05b261e5fe fix(recovery): give due exhausted holds their own fair lane in the recovery worker
The workspace recovery worker visited obligations (due re-arms and fallbacks
of exhausted holds, cleanup, saved input that waits) only when no unfinished
save was selectable. A save that another server owns stays unfinished on every
run, so it starved every obligation. The obligation pass also mixed due holds
with settled holds whose saved input waits, two per run, and a completed pass
never revisited a hold that became due by time alone.

Discovery now draws from lanes, each paged by its own cursor: unfinished
saves, exhausted holds whose re-arm or fallback is due, and the obligation
pass. Each lane with work takes one free slot before any lane takes a second.
The due lane wraps at its tail. Lane positions stay in memory; no migration.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 23:25:05 -06:00
..
…
…
…
…
…
…
…