Needs attention

Sites

Media hub (Vercel)

Down

This operation was aborted

24 h 96.9% · 7 d 90.7% · in this state since 20 Sept, 14:47 · 1012232 ms

How to fix

Vercel deploy or DNS. Check vercel.com for the media-hub project; a new deploy mints a new URL, so the alias may need repointing.

Media hub cron endpoint (Vercel to Turso)

OK

HTTP 200: {"ran":"2026-09-20T07:52:17.497Z","step":"ping"}

24 h 100.0% · 7 d 90.9% · in this state since 19 Sept, 05:58 · 2123 ms

Opportunity API (/api/mobile/v1/feed)

OK

auth wall answering (HTTP 401) in 256 ms

24 h 100.0% · 7 d 91.2% · in this state since 19 Sept, 05:58 · 256 ms

Media Intel team page (Cloudflare)

OK

up; page says "Updated 20 Sep 2026" (3.9 h ago)

24 h 100.0% · 7 d 90.7% · in this state since 19 Sept, 05:58 · 283 ms

Team page functions (D1 notes and submissions)

OK

HTTP 400 {"error":"opp required"}

24 h 100.0% · 7 d 92.4% · in this state since 19 Sept, 05:58 · 53 ms

Client portal (onboarding.launchlink.co)

OK

HTTP 200 in 1287 ms

24 h 100.0% · 7 d 91.4% · in this state since 19 Sept, 06:31 · 1287 ms

Cycle engine (Railway)

OK

up; 20,933 articles, 201 live cycles, 80/90 feeds healthy, llm api (gemini-flash-latest); disk 64% used (db 269 MB, 154 MB free)

24 h 100.0% · 7 d 93.7% · in this state since 19 Sept, 05:58 · 318 ms

Team dash (Cloudflare)

OK

HTTP 200 in 200 ms

24 h 100.0% · 7 d 92.2% · in this state since 19 Sept, 05:58 · 200 ms

Live processes on the Mac

WhatsApp bridge

OK

up; last message 4.6 h ago

24 h 100.0% · 7 d 94.7% · in this state since 16 Sept, 20:30

Daily brief action server (:3001)

OK

answering (HTTP 404)

24 h 100.0% · 7 d 100.0% · in this state since 19 Sept, 06:19

Team dash refresh daemon

Check

last tick 53 min ago

24 h 96.9% · 7 d 99.5% · in this state since 20 Sept, 14:47

How to fix

Runs every 2 min via com.launchlink.refresh-daemon. If stale: launchctl kickstart -k gui/$(id -u)/com.launchlink.refresh-daemon

Scheduled jobs

Gmail media intel (06:30 daily)

OK

last intel file 10 h ago

24 h 100.0% · 7 d 99.5% · in this state since 16 Sept, 22:38

Savings, events, trends + team page deploy (06:45 daily)

OK

last stores file 10 h ago

24 h 100.0% · 7 d 81.4% · in this state since 18 Sept, 06:50

Media hub daily refresh + team digest email (07:15 daily)

OK

last run 11 h ago; digest sent; [2026-09-19 19:27:38] profiling failed (continuing)

24 h 100.0% · 7 d 100.0% · in this state since 20 Sept, 06:35

Opportunity poll (every 15 min)

Down

last poll 3.2 h ago; email: 63 seen, 0 new, 32 updated, 31 already known, 0 dupes, 21 expir

24 h 75.0% · 7 d 97.5% · in this state since 20 Sept, 14:47

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 1.9 h ago, success

24 h 100.0% · 7 d 98.3% · in this state since 19 Sept, 05:58

GitHub Actions watchdog (backup, fires every few hours)

OK

last run 2.7 h ago, success

24 h 100.0% · 7 d 97.7% · in this state since 19 Sept, 05:58

Verification sweep (daily)

OK

last pass 35 h ago; [2026-09-18 16:49] pass 1/1 checked 375 · confirmed 42 · staged 9 · 74% verified · 2743 left / [2026-09-18 16:49] adjudicate settled 4 ·

24 h 100.0% · 7 d 100.0% · in this state since 19 Sept, 06:43

Felicia's daily brief (6x/day)

Check

brief last written 29 h ago

24 h 100.0% · 7 d 95.2% · in this state since 19 Sept, 12:15

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)

OK

last log write 4.2 h ago; launchd exits [0,0,0,0,0,0]

24 h 100.0% · 7 d 98.0% · in this state since 20 Sept, 09:11

Headless claude (what every extractor job runs on)

OK

claude -p answered

24 h 37.5% · 7 d 83.9% · in this state since 20 Sept, 11:24

launchd registrations

OK

9 jobs loaded

24 h 100.0% · 7 d 99.7% · in this state since 15 Sept, 08:05

Production data (Turso)

Turso production database

Down

fetch failed

24 h 96.9% · 7 d 89.7% · in this state since 20 Sept, 14:47

How to fix

ENOTFOUND = DNS/network from this Mac. 401 = token rotated; refresh media-hub/.turso-env. Vercel keeps working on its own copy of the credentials.

Credits, keys and sessions

OpenRouter credit

Down

This operation was aborted

24 h 84.4% · 7 d 89.2% · in this state since 20 Sept, 14:47

Substack session (On Background, Get Featured)

OK

newest post pulled 5.9 days ago

24 h 100.0% · 7 d 100.0% · in this state since monitoring began

Resend (digest + portal email)

OK

key present in media-hub/.env.local (delivery proven by the digest job above)

24 h 100.0% · 7 d 100.0% · in this state since monitoring began

Incidents (last 25)

ComponentStartedEndedWhat was seen
OpenRouter credit20 Sept, 17:35openThis operation was aborted
Turso production database20 Sept, 17:35openfetch failed
Opportunity poll (every 15 min)20 Sept, 17:35openlast poll 3.2 h ago; email: 63 seen, 0 new, 32 updated, 31 already known, 0 dupes, 21 expir
Media hub (Vercel)20 Sept, 17:35openThis operation was aborted
Headless claude (what every extractor job runs on)20 Sept, 10:1120 Sept, 11:34no answer: You've hit your session limit · resets 9:30pm (America/New_York)
Opportunity poll (every 15 min)20 Sept, 09:1120 Sept, 10:11last poll 2.0 h ago; sourcebottle: 0 seen, 0 new, 0 updated, 0 already known, 0 dupes, 0 ex; note: all industries failed: iid 61: 500 Intern
Team dash refresh daemon20 Sept, 09:1120 Sept, 10:11last tick 1.0 h ago
Opportunity poll (every 15 min)20 Sept, 06:3520 Sept, 07:24last poll 3.4 h ago; email: 84 seen, 0 new, 44 updated, 39 already known, 0 dupes, 32 expir | sourcebottle: 216 seen, 0 new, 203 updated, 12
Headless claude (what every extractor job runs on)19 Sept, 21:3820 Sept, 06:35no answer: You've hit your weekly limit · resets 3pm (America/New_York)
Opportunity poll (every 15 min)19 Sept, 15:2719 Sept, 23:13last poll 5.1 h ago; email: 124 seen, 0 new, 66 updated, 57 already known, 0 dupes, 39 expi | sourcebottle: 430 seen, 0 new, 369 updated, 57
poll-clock19 Sept, 15:2719 Sept, 21:38last poll finished 2.9 h ago
Opportunity poll (every 15 min)19 Sept, 10:2319 Sept, 12:15last poll 2.8 h ago; email: 124 seen, 14 new, 53 updated, 56 already known, 8 dupes, 36 exp | sourcebottle: 408 seen, 0 new, 344 updated, 56
OpenRouter credit19 Sept, 06:5319 Sept, 22:38US$8.23 left; burning about US$4.31/day (about 1 days)
Client portal (onboarding.launchlink.co)19 Sept, 06:3119 Sept, 06:43fetch failed
Turso production database19 Sept, 06:1919 Sept, 06:31fetch failed
OpenRouter credit19 Sept, 05:5819 Sept, 06:08fetch failed
Turso production database19 Sept, 05:5819 Sept, 06:08fetch failed
Team dash (Cloudflare)19 Sept, 05:5819 Sept, 06:08fetch failed
Cycle engine (Railway)19 Sept, 05:5819 Sept, 06:08fetch failed
Client portal (onboarding.launchlink.co)19 Sept, 05:5819 Sept, 06:08fetch failed
Team page functions (D1 notes and submissions)19 Sept, 05:5819 Sept, 06:08fetch failed
Media Intel team page (Cloudflare)19 Sept, 05:5819 Sept, 06:08fetch failed
Opportunity API (/api/mobile/v1/feed)19 Sept, 05:5819 Sept, 06:08fetch failed
Media hub cron endpoint (Vercel to Turso)19 Sept, 05:5819 Sept, 06:08fetch failed
Media hub (Vercel)19 Sept, 05:5819 Sept, 06:08fetch failed

Automatic restarts (last 15)

ComponentWhenAction
Team dash refresh daemon20 Sept, 19:21com.launchlink.refresh-daemon
Opportunity poll (every 15 min)20 Sept, 13:42co.launchlink.opportunities
Felicia's daily brief (6x/day)20 Sept, 12:38co.launchlink.personal-brief
Felicia's daily brief (6x/day)20 Sept, 06:36co.launchlink.personal-brief
Opportunity poll (every 15 min)19 Sept, 10:24co.launchlink.opportunities
Team dash refresh daemon19 Sept, 10:24com.launchlink.refresh-daemon
Daily brief action server (:3001)19 Sept, 06:20co.launchlink.action-server
Team dash refresh daemon18 Sept, 06:50com.launchlink.refresh-daemon
Opportunity poll (every 15 min)18 Sept, 02:27co.launchlink.opportunities
Savings, events, trends + team page deploy (06:45 daily)17 Sept, 13:06co.launchlink.intel-stores
Daily brief action server (:3001)17 Sept, 00:34co.launchlink.action-server
Team dash morning brief (6x/day)17 Sept, 00:18co.launchlink.briefing.0900
Gmail media intel (06:30 daily)16 Sept, 22:27co.launchlink.media-intel
Verification sweep (daily)16 Sept, 20:34co.launchlink.media-sweep
Felicia's daily brief (6x/day)16 Sept, 16:14co.launchlink.personal-brief