Media hub (Vercel)
OKHTTP 307 in 1328 ms
HTTP 307 in 1328 ms
HTTP 200: {"ran":"2026-09-15T08:15:59.688Z","step":"ping"}
auth wall answering (HTTP 401) in 179 ms
up; page says "Updated 15 Sep 2026" (9.3 h ago)
HTTP 400 {"error":"opp required"}
HTTP 200 in 1282 ms
HTTP 200 in 78 ms
up; last message 3 min ago
answering (HTTP 404)
last tick 0 min ago
last intel file 2.0 h ago
last stores file 10 h ago
last run 11 h ago; digest sent
last poll 11 min ago; email: 63 seen, 0 new, 63 updated, 0 already known, 0 dupes, 2 expired | sourcebottle: 206 seen, 0 new, 193 updated, 13 already known, 0 dupes,
last run 2.4 h ago, success
gh run list --workflow=poll-opportunities.yml in media-hub. A failure with 401 = CRON_SECRET secret drifted from .deploy-secrets; 'disabled workflow' = GitHub switched it off after repeated failures or billing (gh workflow enable). The local launchd poll keeps the feed alive meanwhile.
last run 2.3 h ago, success
gh run list --workflow=watchdog.yml in media-hub. It alerts by email if RESEND_API_KEY is a repo secret, otherwise by opening a GitHub issue.
last pass 24 h ago; [2026-09-14 09:00] pass 1/1 unreadable response / [2026-09-14 09:00] adjudicate settled 0 · disagreed 0 · for a person 3
'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.
brief last written 1.1 h ago
last log write 1.1 h ago; launchd exits [1,0,0,0,0,0]
claude -p answered
9 jobs loaded
reachable in 2498 ms; 12,148 journalists; 2521 staged changes awaiting review
last feed run 14 h ago; 60/69 feeds healthy; failing: AdNews, Banking Day, Business News Australia, HR Leader, Information Age, InnovationAus, InvestorDaily, The New Daily, ZDNet
Feeds returning 403/404 have moved or now block bots. Fix the URL in the sources table (scripts/discover-feeds.ts) or disable the source.
6 inboxes, last scan 14 h ago; needs attention: annmargaret@launchlink.co (needs_reauth)
needs_reauth = Google refresh token expired (invalid_grant). That person signs in to the hub and reconnects their inbox under Settings.
newest callout 2.4 h ago; 112 in last 24 h; email:haro 11 h ago, email:qwoted 34.1 days ago, sourcebottle 2.4 h ago
last 24 h: 0 delivered, 474 failed of 474; last response: 400 {"error":"No events to ingest"}
Pressto's receiver answers 400 'No events to ingest' to the documented {id,event,at,data} body and to an {events:[...]} wrapper, signature valid. That is a contract mismatch on the Pressto side (Joe): the receiver needs to accept the shape in media-hub/docs/PRESSTO-WEBHOOKS.md, or say what it wants.
US$18.67 left; burning about US$3.08/day (about 6 days)
Top up at openrouter.ai/settings/credits. At zero, every web feature returns empty with no error (402 swallowed), verification stalls and the sweep logs 'unreadable response'.
newest post pulled 21 h ago
key present in media-hub/.env.local (delivery proven by the digest job above)
| Component | Started | Ended | What was seen |
|---|---|---|---|
| GitHub Actions watchdog (checks this monitor every 30 min) | 15 Sept, 18:05 | open | last run 2.2 h ago, success |
| Pressto webhook deliveries (hub to api.yaarn.ai) | 15 Sept, 08:06 | open | last 24 h: 0 delivered, 402 failed of 402; last response: 400 {"error":"No events to ingest"} |
| launchd registrations | 15 Sept, 08:05 | 15 Sept, 08:06 | not loaded: co.launchlink.media-status |
| Savings, events, trends + team page deploy (06:45 daily) | 15 Sept, 08:05 | 15 Sept, 08:16 | last stores file 4.1 days ago; last exit 1; log: There's an issue with the selected model (fable[1m]). It may not exist or you may not have |
| Gmail media intel (06:30 daily) | 15 Sept, 08:05 | 15 Sept, 08:16 | last intel file 3.7 days ago; last exit 1; log: There's an issue with the selected model (fable[1m]). It may not exist or you may not have a |
| Media Intel team page (Cloudflare) | 15 Sept, 08:05 | 15 Sept, 08:27 | up; page says "Updated 11 Sep 2026" (4.0 days ago) |
| Component | When | Action |
|---|---|---|
| None needed yet. | ||