diff --git a/docs/superpowers/specs/2026-03-29-axis-classification-design.md b/docs/superpowers/specs/2026-03-29-axis-classification-design.md index 899e85b..18c65ee 100644 --- a/docs/superpowers/specs/2026-03-29-axis-classification-design.md +++ b/docs/superpowers/specs/2026-03-29-axis-classification-design.md @@ -280,6 +280,19 @@ that the function returns the axes dict unchanged and does not raise. All three tests use monkeypatching to inject CSV content as in-memory StringIO, following the existing pattern in `tests/test_political_compass.py` of patching module-level imports. +## Deployment + +The CSV files (`data/party_ideologies.csv` and `data/coalition_membership.csv`) are **static reference +data committed to git**. They are baked into the Docker image at build time alongside the application +code. No rsync or volume mount is needed. + +The `.gitignore` excludes `data/*.db`, `data/*.bak`, `data/*.json` but not `data/*.csv`, so they can +be tracked without change to the ignore rules. The data volume mount (`DATA_DIR:/home/app/app/data`) +only contains the database file and does not overwrite the baked-in CSVs. + +When party compositions change (e.g., a new party enters parliament), update the CSV, commit, and +redeploy. Typical frequency: once per parliament formation (~4 years). + ## Open Questions None.