|
|
70f343fbac
|
BE-AGT-002: implement Agent status transition service
- New service: app/services/agent_status.py
- transition_to_busy(): Idle → Busy/OnCall based on slot type
- transition_to_idle(): Busy/OnCall/Exhausted/Offline → Idle
- transition_to_offline(): Any → Offline (heartbeat timeout)
- transition_to_exhausted(): Any → Exhausted (rate-limit/billing)
- check_heartbeat_timeout(): auto-detect >2min heartbeat gap
- check_exhausted_recovery(): auto-recover when recovery_at reached
- record_heartbeat(): update timestamp, recover Offline agents
- Tests: tests/test_agent_status.py (22 test cases)
|
2026-04-01 00:46:16 +00:00 |
|