Election calendar and model-research platform. The public website and forecast API withhold numerical win probabilities when the available snapshot has grade D evidence or lacks traceable input revisions. The repository retains reproducible simulation artifacts for method review.
uv sync --project services/api --dev
uv run --project services/api uvicorn app.main:app --reload --port 8000
pnpm install
$env:API_INTERNAL_URL='http://localhost:8000'
pnpm devOpen http://localhost:3000. API documentation: http://localhost:8000/docs.
Full local stack, including PostGIS, MinIO immutable source snapshots, Dagster webserver, and scheduler daemon:
docker compose -f infra/compose.yaml up --buildDagster UI: http://localhost:3001. Licensed adapters fail closed. A grade D structural simulation can be generated for research, but the public forecast endpoints and dashboard withhold precise win probabilities because source-vintage feature inputs and jurisdiction-specific out-of-sample evidence are insufficient. One million draws reduce simulation noise; they do not establish predictive accuracy. If a live or static data request fails, the website shows an unavailable state and never substitutes hard-coded probabilities.
Official calendar onboarding and immutable revision behavior: docs/calendar-onboarding.md.
Governance: completion audit, model selection, historical evidence, source licensing, observability, signed releases, and disaster recovery.
pnpm typecheck
pnpm build
uv run --project services/api pytest services/api/tests
uv run --project services/api python services/api/scripts/load_smoke.py
uv run --project services/pipeline pytest services/pipeline/tests
pnpm --filter @elexion/web test:e2e