A private, always-on world-monitoring service. It watches live public feeds across five beats — AI, cybersecurity, global politics, US healthcare regulation, and markets — detects what changed, and delivers one cited daily brief to a phone via ntfy at 07:00 America/Chicago. The same evidence store is exposed to other agents over a local HTTP API.
This is personal infrastructure, not a product. No keys or secrets live in this repo.
14 feed adapters ──> SQLite spine ──> deterministic deltas ──> one cited LLM brief ──> ntfy push
(real HTTP) (WAL, stable (NEW / CHANGED / GONE, (hard citation (07:00 CT,
identity, no LLM in this path) gate; URLs come tappable
stories, from the store, source links)
revisions, never the model)
retention)
- Feeds (
engine/monitor/adapters/): arXiv, CISA advisories, CISA KEV, CoinGecko, Federal Register, Frankfurter FX, FRED (SP500 / DJIA / NASDAQ / WTI), GDELT, Hugging Face blog, OpenAI news, openFDA, State Dept travel advisories, Treasury yields, UN press. Every source was verified with a real call before adoption; fixtures and terms notes are indocs/feed-verification.md. - Change detection is deterministic. NEW/CHANGED/GONE deltas are computed in code — no LLM touches that path, so the same inputs always produce the same deltas.
- The brief is cited or it doesn't ship. One LLM call per day rewrites the deltas into prose behind a hard citation gate; every bullet carries a source URL taken from the store, never generated by the model. A monthly LLM spend cap is enforced in code.
- Event spine (schema v3): stable observation identity, stories with revision history, 1-year retention, and health reporting that distinguishes "feed down" from "no news".
Target under $5/month. The measured cost of one real brief was $0.008 (deepseek/deepseek-v4-pro, taken from the provider's usage field, 2026-08-29).
uv run python -m engine.run # engine + API on :8088
uv run python -m pytest # test suite (262 tests)Key endpoints: POST /brief/run (generate a brief now), GET /brief/latest.
Production runs on a Proxmox VM (docker compose, deploy/compose), backed up nightly by a
vzdump job. Deploy, health, and restore commands are in the plan §13.
| File | What it is |
|---|---|
PYTHIA-MONITOR-V1-PLAN.md |
Plan of record — decisions, phases, acceptance gates |
STATE.md |
Status log — newest dated entry is the current truth |
docs/feed-verification.md |
Per-feed evidence: real calls, terms, rejections |
docs/misses-log.md |
Evaluation-period log of things the brief should have caught |
This repo began as a fork of
jangles-byte/Pythia — a forecasting oracle built on
MiroFish (swarm predictions) and Osiris (live globe UI). The forecasting experiment was run,
measured, and retired on 2026-07-08: with self-generated questions and LLM-judge
resolution it could not beat the base rate (Brier analysis in the viability report). The full
pre-pivot build, its prediction ledger, and the calibration instruments are preserved on the
review-fixes branch. On 2026-08-28 the project pivoted to the
monitor described above; main carries only that.