Real-time monitoring of epistemic health across societal systems. Computes M scores (martingale tests for rational belief updating) from prediction markets, social media, surveys, and text corpora.
packages/
core/ # Martingale scoring engine (pooled OLS), companion metrics, CIs
pipeline/ # Data ingestion, LLM extraction, streaming runners, DB storage
api/ # FastAPI REST API + SSE streaming
dashboard/ # Next.js dashboard (light editorial theme)
experiments/ # Batch experiment scripts and cached results
data/
observatory.db # Pre-computed scores for all sources (without belief sequences)
| Source | Type | Streaming | Method |
|---|---|---|---|
| Polymarket | Prediction market | Yes | Price = belief (no LLM) |
| Manifold | Prediction market | Yes | Price = belief (no LLM) |
| Bluesky | Social media | Yes | LLM proposition extraction |
| Reddit CMV | Forum | Batch | LLM stance extraction |
| Wikipedia | Editor revisions | Batch | Edit frequency analysis |
| GDELT | News coverage | Batch | LLM stance extraction |
| WildChat | LLM conversations | Batch | LLM belief extraction |
| World Values Survey | Longitudinal survey | Batch | Direct responses |
# Install Python dependencies
pip install -e packages/core
pip install -e packages/pipeline
pip install -e packages/api
pip install -e packages/experiments
# Start the API (runs streaming pipeline + REST API)
OPENROUTER_API_KEY=<your-key> python -m uvicorn api.main:app --host 0.0.0.0 --port 8000
# Start streaming sources
curl -X POST http://localhost:8000/api/v1/pipeline/sources/polymarket/start
curl -X POST http://localhost:8000/api/v1/pipeline/sources/manifold/start
curl -X POST http://localhost:8000/api/v1/pipeline/sources/bluesky/start
# Start the dashboard
cd packages/dashboard
npm install
npm run build
npx next start -p 3000- M Score: β₁ from pooled OLS regression Δb = β₁·b_prior + β₀ + ε. Always computed from a single pooled regression, never averaged across per-trajectory values.
- Companion Metrics: Mean Absolute Update, Belief Range, Inertia, Entropy Trajectory, Polarization Trend — each with bootstrap/analytic CIs.
- Color coding: CI entirely negative → blue (mean-reverting), CI includes 0 → green (rational), CI entirely positive → red (entrenched).
The platform uses OpenRouter for LLM-based belief extraction from text sources (Bluesky, Reddit, GDELT, etc.). Prediction market sources (Polymarket, Manifold) require no API keys.
arXiv:2512.02914 — Methodology paper