Discovered during
#9033 AC audit. Both subscription adapters DETECT quota exhaustion (_check_quota_exhaustion scans CLI output) and return AdapterRunStatus(status=FAILED, error='... quota exhausted'), but the agent is not paused and the board is not notified — there are explicit TODOs (claude_code_subscription_adapter.py ~line 210, copilot_subscription_adapter.py ~line 178). So #9033 AC5 is unmet: a quota-exhausted subscription agent keeps getting scheduled and failing every heartbeat.
Scope
- On quota-exhausted terminal status, pause the agent (the controls/agents/{id}/pause path exists) and publish a board notification.
- Resume path when the quota window resets (or manual board resume).
- Test: quota-exhausted run → agent status paused + notification emitted.
Part of umbrella #9923 (#9033).
Discovered during
#9033 AC audit. Both subscription adapters DETECT quota exhaustion (
_check_quota_exhaustionscans CLI output) and returnAdapterRunStatus(status=FAILED, error='... quota exhausted'), but the agent is not paused and the board is not notified — there are explicit TODOs (claude_code_subscription_adapter.py~line 210,copilot_subscription_adapter.py~line 178). So #9033 AC5 is unmet: a quota-exhausted subscription agent keeps getting scheduled and failing every heartbeat.Scope
Part of umbrella #9923 (#9033).