Commits
Click on a commit to change the comparison rangefeat: convert foreman service to docket perpetual function
convert the Foreman LoopService to a docket perpetual function.
foreman monitors workers and marks stale resources as offline/not ready:
- marks workers without recent heartbeat as offline
- marks work pools without online workers as not ready
- marks deployments with old last_polled time as not ready
- marks work queues with old last_polled time as not ready
unlike other conversions, foreman doesn't use find-and-flood pattern
since all operations run in a single perpetual function.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com> fix: update CLI test to not expect Foreman service
Foreman is now a perpetual function, so it no longer appears in Service.all_services().
Update the test to expect Scheduler instead.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>