Operator
Admin — pipeline freshness
Every stage's last run. Schedule: true-ups 05:30/18:00 · book+notes+deploy 05:50 M–F · PM notes+deploy ~19:00 · weekly Sun 12:00 · prices 14:00 M–F. Full runbook: docs/OPERATIONS.md in the repo.
Today's run health — 2026-08-28
5 failing step(s) · 50 events · reports/2026-08-28/health.json
| time (PT) | step | detail | |
|---|---|---|---|
| ● | 05:15:22 | canary:preflight | PREFLIGHT PASS (19s) |
| ● | 05:15:35 | canary:sandbox | clone at /private/tmp/twit_canary_20260828T051503 ( 62G) |
| ● | 05:16:25 | canary:codex_batch | 1 batch of 5 tweets through silver path: Done. ok=1 err=0 inserted=5 |
| ● | 05:16:31 | canary:codex_para | 30-word paragraph via call_codex_async parsed: parsed: [{'sentiment': 'positive', 'subject': 'Acme Robotics'}] |
| ● | 05:16:35 | canary:twitterapi | 1 page for @0xAero8 via fetch_tweets --canary; Ledger: $0.0001 |
| ● | 05:16:35 | canary:ibkr | DEGRADED (not failed): TWS not reachable on 127.0.0.1:7496 ([Errno 61] Connection refused) |
| ● | 05:16:58 | canary:morning_note | full morning note w/ real codex lede on clone: sections=5(need>=5) lede_paras=3(need>=3) none_artifacts=0 |
| ● | 05:18:22 | canary:evening_note | evening note failed: evening note written -> /private/tmp/twit_canary_20260828T051503/reports/2026-08-27/evening_note_sim.md (with color); sections=5(need>=5) lede_paras=3(need>=3) none_artifacts=1 |
| ● | 05:20:16 | canary:book_build | insert-guard fired: 3 well-formed would-be rows printed, INSERT skipped; ledger rows 272 unchanged |
| ● | 05:20:20 | canary:paper_sleeves | 2 would-be rows printed; paper tables + live ledger unchanged ({'book_ledger': 272, 'paper_sleeves': 1, 'paper_positions': 4116, 'paper_marks': 16695}) |
| ● | 05:20:23 | canary:payload_cap | PAYLOAD_CAP ticker=NVDA raw=2670KB and SPLIT DOES NOT CONVERGE in 3 attempts — real failure |
| ● | 05:22:12 | canary:sql_chain | chain vs clone: 21/21 ok; failed=[]; shadow schema+invariants ok; rows=520; v6b/v9 excluded before 2026-07-20 |
| ● | 05:22:58 | canary:site | built 4440 files from clone; staging deploy live with today's marker: https://806f3211.tradeintel.pages.dev |
| ● | 05:23:06 | canary:options_read | chain + lint green on clone (panel 2026-08-27, template lede): 23 modules, empty-state line rendered |
| ● | 05:23:06 | canary:overall | FAILED legs: evening_note,payload_cap — see /Users/anjan/twit/reports/_canary/20260828T051503 |
| ● | 05:36:52 | trueup[am]:fetch | 4,368 tweets $0.79 paused 334 |
| ● | 05:38:08 | trueup[am]:mopup | 320 authors, 1,247 tweets |
| ● | 05:38:30 | trueup[am]:load | inserted 4,365 |
| ● | 05:43:38 | trueup[am]:extract | ok=22 err=0 inserted=5209 |
| ● | 05:45:32 | trueup[am]:chain | 21/21 ok |
| ● | 05:51:53 | morning:dashboard | live book + ledger written |
| ● | 05:52:17 | morning:note | morning note written |
| ● | 05:52:20 | morning:prospects | prospect radar written |
| ● | 05:53:18 | morning:model_picks | model picks AM refresh done |
| ● | 05:53:23 | paper:sleeves | paper sleeves stepped (entries/marks/exits appended) |
| ● | 05:53:38 | morning:site_build | site built to site_dist |
| ● | 05:53:39 | morning:options_lint | options pages clean (banned lexicon / legend hash / color policy) |
| ● | 05:54:10 | morning:deploy_staging | deployed https://44503aa5.tradeintel.pages.dev |
| ● | 05:54:10 | morning:staging_probe | marker 'As of 2026-08-28' live on staging (attempt 1) |
| ● | 05:54:18 | morning:deploy_prod | prod deployed (staging verified first) |
| ● | 05:54:18 | morning:prod_probe | marker 'As of 2026-08-28' live on prod (attempt 1) |
| ● | 05:54:20 | morning:chain_capture | book names seated in thetadata universe |
| ● | 06:22:16 | funnel:options_lint | options pages clean (banned lexicon / legend hash / color policy) |
| ● | 06:22:54 | funnel:deploy_staging | deployed https://a6990995.tradeintel.pages.dev |
| ● | 06:22:55 | funnel:staging_probe | marker 'As of 2026-08-28' live on staging (attempt 1) |
| ● | 06:23:02 | funnel:deploy_prod | prod deployed (staging verified first) |
| ● | 06:23:03 | funnel:prod_probe | marker 'As of 2026-08-28' live on prod (attempt 1) |
| ● | 15:24:22 | optionsread:pull | ThetaData EOD pull ok for 2026-08-28 (feed-config universe, ~500 names) |
| ● | 15:24:26 | optionsread:extend | option_state_daily v2 + plumbing_calendar extended for 2026-08-28 |
| ● | 15:24:26 | optionsread:ohlc_wait | daily_ohlc rows present for 2026-08-28 |
| ● | 15:24:53 | optionsread:page | page build FAILED for 2026-08-28 — chain ABORTED before deploy (yesterday's page stays live) |
| ● | 15:24:54 | optionsread:overall | FAILED at page build for 2026-08-28 — see /Users/anjan/twit/logs/options_read_2026-08-28.log |
| ● | 18:09:42 | trueup[pm]:fetch | 13,345 tweets $2.09 paused 151 |
| ● | 18:10:31 | trueup[pm]:mopup | 38 authors, 892 tweets |
| ● | 18:11:36 | trueup[pm]:load | inserted 13,321 |
| ● | 18:22:14 | trueup[pm]:extract | ok=67 err=0 inserted=16561 |
| ● | 18:24:28 | trueup[pm]:chain | 21/21 ok |
| ● | 18:26:00 | trueup[pm]:evening_note | written |
| ● | 18:26:00 | trueup[pm]:ohlc_freshness | fresh |
| ● | 18:51:22 | trueup[pm]:csp_daily | csp chain done |
Pipeline freshness
| stage | last ran / data through | detail |
|---|---|---|
| Tweet fetch + extraction (true-up) | — | ledger unreadable: name 'ROOT' is not defined |
| Newest signal in DB | 2026-08-28 18:08 PT | 18,411 gold signals in last 24h · extractor gpt-5.6-sol:bc32eff8:20260829 |
| Book (ledger) | 2026-08-28 | 3 positions · live |
| Model picks AM | 2026-08-28 18:24 PT | session 2026-08-28 · 30 picks across 6 desks |
| Model picks PM | 2026-08-28 18:24 PT | session 2026-08-31 · 30 picks across 6 desks |
| Cluster graph | 2026-08-23 | 40 measured communities |
| Story registry | 2026-08-23 | 54 living stories |
| Morning Note | 2026-08-28 05:52 PT | reports/2026-08-28/morning_note.md |
| Evening Note | 2026-08-28 18:26 PT | reports/2026-08-28/evening_note.md |
| Prospects (latest edition) | 2026-08-28 18:22 PT | reports/2026-08-28/prospects.md |
| Weekly Deep Read | 2026-08-16 13:20 PT | 2026-08-16 |
| Price data (daily OHLC) | 2026-08-28 | IBKR refresh 14:00 PT trading days |
| This site build | 2026-08-28 18:51 PT | wrangler direct upload; AM ~5:50 + PM ~19:00 auto-deploys |