zhi
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
..
2026-03-31 20:46:34 +00:00
2026-03-06 13:46:38 +00:00
2026-03-30 22:27:05 +00:00
2026-03-31 20:46:34 +00:00
2026-04-01 00:46:16 +00:00
2026-02-21 08:25:37 +00:00
2026-03-29 15:35:23 +00:00
2026-03-30 22:27:05 +00:00