Phone notifications¶
The mobile inbox uses curated event labels for the event types below. Task and workflow alerts use the listed fixed sentence; the project name is prefixed when available. Server Beat builds its body from the incident scope and summary. Backup labels are reserved in the client; no enqueue site currently sends these event types, so they have no built-in body or severity.
| Event type | Label | Push sentence | Severity | When sent |
|---|---|---|---|---|
task_started |
Task started | Work on this task has started. | info | A task status changes to in progress. |
task_blocked |
Task blocked | Blocked. Open the task in HeyAira to see what is needed. | error | A task status changes to blocked. |
task_completed |
Task completed | Completed. The handoff lists the next step. | attention | A task status changes to done. |
task_offer_unclaimed |
Task waiting | Sent to the Mac, but not picked up yet. Open the task in HeyAira to see why. | attention | An offered execution remains unclaimed for five minutes. |
task_publication_missing |
Not published | Accepted, but no pull request yet. Open the task in HeyAira to see why. | error | Accepted work has no reported pull request after ten minutes. |
task_checks_failed |
Checks failed | Checks failed on the pull request. Open the task in HeyAira to see which. | error | CI fails for the current candidate. |
backup_failed |
Backup failed | Caller supplied; no built-in push sentence. | not enqueued | Reserved label; no current enqueue site. |
backup_recovered |
Backup recovered | Caller supplied; no built-in push sentence. | not enqueued | Reserved label; no current enqueue site. |
server_beat_incident_opened |
Incident opened | The incident scope and summary from Server Beat. | error | A monitored service goes down. |
server_beat_incident_recovered |
Incident recovered | The incident scope and summary from Server Beat. | attention | A monitored service recovers. |
server_beat_incident_escalated |
Incident escalated | The incident scope and summary from Server Beat. | warning | A continuing incident reaches escalation. |
Labels and fixed task sentences are defined in src/heyaira/bridge.py;
enqueue severities and triggers are defined at the task/workflow and Server
Beat enqueue sites. python scripts/check_docs_contract.py checks that every
curated event appears exactly once and that labels and fixed sentences match
the runtime mappings. The checker reads literal runtime mappings from source,
so it runs with the documentation-only dependencies used by CI.