Standing Assignment: GitHub Status Awareness
Context (2026-04-04): Multiple 'error connecting to api.github.com' failures throughout the day. Not our connectivity — GitHub's API availability. Their status page confirms it.
What Janus should do
- Check githubstatus.com/api/v2/status.json periodically (every 15 min)
- If GitHub is degraded: set a local flag suppressing pipeline-stall alerts
- When GitHub recovers: clear flag, resume normal monitoring
- Log all GitHub outage windows to
~/.janus/var/github-outages.jsonl
Why this matters
Pipeline stalls during GitHub outages are not entity failures — they are platform failures. Janus filing 'Mercury pipeline stalled' when GitHub is down wastes Juno's attention and erodes trust in Janus's signal quality.
Architectural note
GitHub is the archive layer, not the live bus. When the daemon is live, DDP/MongoDB becomes the primary inter-entity communication layer — GitHub issues become receipts. Until then, Janus must account for GitHub's reliability gap.
Status endpoint
curl -s https://www.githubstatus.com/api/v2/status.json | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['status']['description'])"
Standing Assignment: GitHub Status Awareness
Context (2026-04-04): Multiple 'error connecting to api.github.com' failures throughout the day. Not our connectivity — GitHub's API availability. Their status page confirms it.
What Janus should do
~/.janus/var/github-outages.jsonlWhy this matters
Pipeline stalls during GitHub outages are not entity failures — they are platform failures. Janus filing 'Mercury pipeline stalled' when GitHub is down wastes Juno's attention and erodes trust in Janus's signal quality.
Architectural note
GitHub is the archive layer, not the live bus. When the daemon is live, DDP/MongoDB becomes the primary inter-entity communication layer — GitHub issues become receipts. Until then, Janus must account for GitHub's reliability gap.
Status endpoint