Review Console — internal access only
All changes written automatically to drug_assets — from 8-K extractions and OpenFDA polling. Spot-check for errors; use ↩ Undo to revert any bad write.
| Date | Ticker | Drug | Indication | Before | After | Source | |
|---|---|---|---|---|---|---|---|
Summary stats for each completed update.py run — hourly Railway cron and manual runs.
| Execution (ET) | Mode | Companies | Filings | New | → Haiku | → Sonnet | Auto-Applied | Queued | OpenFDA | Errors | Elapsed |
|---|---|---|---|---|---|---|---|---|---|---|---|
Execution — when the run started (ET)
Mode — normal / force-backfill / openfda-only / 8k-only (local if manual)
Companies — total companies scanned
Filings — all 8-K/6-K filings found by EDGAR in the lookback window
New — filings not yet marked was_processed=1 (= Filings − already processed)
→ Haiku — new filings that passed the keyword pre-filter → LLM relevance screen
→ Sonnet — Haiku-screened filings deemed relevant and sent for full extraction
Auto-Applied — updates written directly to drug_assets (high confidence)
Queued — updates routed to proposed_updates for human review
OpenFDA — FDA approvals matched via OpenFDA API
Errors — per-company exceptions during scan
Elapsed — total wall-clock runtime in minutes
The digest distribution list — independent of user accounts. pending addresses receive nothing until they confirm. bounced and complained are terminal and are never mailed again; that is deliberate, since re-mailing a complainer is how a sending domain gets blocked.
| Campaign | Sent | Delivered | Opened | Clicked | Bounced | Complained | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| unmeasured — no webhook events | |||||||||||
⚠️ No open events recorded yet. If sends are landing, open tracking is probably still off — Resend → Domains → your sending domain → Configuration → “Enable tracking metrics”. It needs its own CNAME, not just a toggle.
| Status | Source | Added | Sends | Account | ||
|---|---|---|---|---|---|---|
| terminal |
Everyone who has signed up, newest first. Read-only: plans are owned by Stripe and synced here by its webhook. From digest marks an address that was already on the newsletter list before the account existed — the newsletter turning a reader into a user.
| Plan | Billing | Signed up | Last sign-in | Digest | From digest | API keys | Stripe | |
|---|---|---|---|---|---|---|---|---|
| new | Open — |
Curate the weekly digest before it sends. 📌 Pin tiles to choose the Top Stories (unpinned tiles are ranked and sectionized automatically), remove noise, and write — or ✨ draft — the intro note. Changes are optional: an untouched week sends the computed slate automatically. Target send: .
**bold**, *italic*,
[text](https://…), blank line = paragraph, - bullets.
Left blank, an LLM drafts one automatically at send time.