# Project notes for Claude US County Climate Explorer: a static Leaflet app (`index.html`, `app.js`, `styles.css`) over `data/climate-data.csv`, built by the Python scripts in `scripts/`. The 12 filters are being reviewed one at a time before the CSV is restructured; see [docs/pipeline-plan.md](docs/pipeline-plan.md). ## Guardrails - Never rerun `scripts/build_county_climate_data.py` over `data/climate-data.csv`. It drops live columns and overwrites `koppenZone` (pipeline plan §7). - Change one filter at a time. After every apply step, run the checker and compare changed counties against expectations. - Run scripts from the project root with the virtual environment: - `.venv\Scripts\python.exe scripts\check_climate_data.py` - `.venv\Scripts\python.exe -m unittest discover -s tests` - When `app.js` or the data files change, bump `APP_ASSET_VERSION` in `app.js` (it also versions the CSV and GeoJSON URLs) and the matching `app.js?v=` query in `index.html`. `styles.css` has its own query in `index.html`. - The map and every filter cover the 50 states and DC. Puerto Rico rows stay in the data files but are never shown. - Do not start the Phase 3 CSV restructure until all 12 filters are reviewed. ## Writing - Write "Köppen" with the umlaut in prose, UI text, help text, and messages. Use ASCII `koppen` only in identifiers, file names, and data paths. ## Documentation layout Each fact has one home: - `docs/pipeline-plan.md`: current pipeline, target design, phases, the per-filter checklist (§5), the filter tracker (§6), and guardrails (§7). Keep it about 200 lines. - `docs/reviews/`: one file per filter with its findings, decision links, and tasks; `00-cross-filter.md` for findings that affect several filters. `docs/reviews/README.md` has the numbering conventions and the finding index. - `docs/decisions.md`: open decisions and a dated log of decided ones. An item leaves "Open decisions" only when the project owner decides it. - `docs/filter-calculations.md`: what each calculation is. No review status. - `scripts/common/README.md`: rules for shared helpers. Keep the tracker status in the plan and the review-file checkboxes in sync.