Opportunity poll actually running (any clock)
OK
last poll finished 5 min ago
24 h 100.0% · 7 d 100.0% · in this state since monitoring began
Gmail media intel (06:30 daily)
Check
last intel file 32 h ago; log: API Error: Can't reach the API server — check your internet or DNS (ENOTFOUND)
24 h 100.0% · 7 d 100.0% · in this state since 13 Nov, 19:10
How to fix
Runs media-db/media-intel.sh via headless claude. 'issue with the selected model' = the CLI cannot use the model; the script now pins --model opus. 'Unable to connect to API' = no network at run time. Re-run: bash media-db/media-intel.sh
Savings, events, trends + team page deploy (06:45 daily)
Check
last stores file 32 h ago
24 h 100.0% · 7 d 100.0% · in this state since 13 Nov, 19:10
How to fix
Runs stores/intel-stores.sh. The extractor step is now non-fatal, so the page still regenerates and deploys even if Gmail mining fails. Re-run: bash stores/intel-stores.sh
Media hub daily refresh + team digest email (07:15 daily)
Check
last run 7.3 h ago; digest FAILED; [2026-11-13 08:48:02] digest failed (continuing)
24 h 100.0% · 7 d 100.0% · in this state since 13 Nov, 19:10
How to fix
scripts/daily.sh in media-hub. 'ENOTFOUND ...turso.io' = DNS/network dropped mid-run (travelling wifi); the digest simply retries tomorrow. Re-send today: cd media-hub && set -a && . .turso-env && set +a && npx tsx scripts/media-digest.ts
Opportunity poll (every 15 min)
Down
last poll 14 h ago; email: 120 seen, 0 new, 75 updated, 43 already known, 0 dupes, 25 expi | sourcebottle: 358 seen, 0 new, 304 updated, 43 already known, 0 dupes,; error: email:haro/1a1d1db680279698#7: fetch failed
24 h 98.1% · 7 d 98.1% · in this state since 13 Nov, 19:10
How to fix
scripts/poll-cron.sh writes to production Turso and is now the BACKUP poller; the hourly GitHub Actions job below is the primary. Zero yield on SourceBottle for a whole day usually means their page changed, not that there were no callouts.
GitHub Actions opportunity poll (backup clock)
OK
last run 11 min ago, success
24 h 100.0% · 7 d 100.0% · in this state since 13 Nov, 18:39
GitHub Actions watchdog (backup, fires every few hours)
OK
last run 4.1 h ago, success
24 h 100.0% · 7 d 100.0% · in this state since 13 Nov, 11:27
Verification sweep (daily)
Check
last pass 30 h ago; [2026-11-12 08:20] pass 1/1 unreadable response / [2026-11-12 08:20] adjudicate adjudication unreadable
24 h 100.0% · 7 d 100.0% · in this state since monitoring began
How to fix
'unreadable response' = the cron verify step timed out or returned non-JSON (often OpenRouter out of credit, or a 300 s Vercel window overrun). Check the credits card below first.
Felicia's daily brief (6x/day)
Check
brief last written 21 h ago; last exit 1; log: API Error: Can't reach the API server — check your internet or DNS (ENOTFOUND)
24 h 100.0% · 7 d 100.0% · in this state since 13 Nov, 19:10
How to fix
refresh.sh needs --permission-mode acceptEdits and current MCP tool names; a stale file with no error usually means the final Write was denied.
Team dash morning brief (6x/day)
Check
last log write 2.4 h ago; launchd exits [1,6,6,6,1,0]; log: API Error: Can't reach the API server — check your internet or DNS (ENOTFOUND)
24 h 100.0% · 7 d 100.0% · in this state since 13 Nov, 19:10
How to fix
team-dash/scripts/morning-brief.sh, two headless claude calls, now pinned to --model opus.
Headless claude (what every extractor job runs on)
OK
claude -p answered
24 h 98.1% · 7 d 96.2% · in this state since 13 Nov, 11:27
9 jobs loaded
24 h 100.0% · 7 d 100.0% · in this state since monitoring began