# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
.venv/
venv/
env/
*.egg-info/
.pytest_cache/
.ruff_cache/
.mypy_cache/

# IDE / editor
.idea/
.vscode/
*.swp
*.swo

# OS
.DS_Store
Thumbs.db

# AI tooling state (intentionally not part of the repo)
.claude/
.cursor/
.copilot/
.aider*
.cursorrules
AGENTS.md
GEMINI.md
CLAUDE.md

# Trained models / large run artifacts under runs/.
# Small metric/summary/config JSONs are versioned (they document baseline
# numbers and are tiny). Weights, predictions, and trainer checkpoints are
# excluded — publish those to HF Hub instead.
runs/*/final/
runs/*/hf/
runs/*/hf_trainer/
runs/*/model/
runs/*/preds/
runs/*/preds.*.jsonl
runs/*-smoke*/

# Derived training artifacts (regeneratable via training/normalize_v02.py)
data/v0.2/splits_normalized/

# Intermediate labeling pipeline artifacts (regenerable)
modal/outputs/
modal/consensus/

# Project export tarballs (point-in-time snapshots, not source-of-truth)
safesignal-geo-*.tar.gz

# OSM extracts (download via scripts/extract_osm_seed.py download)
*.osm.pbf

# Logs
*.log
/tmp/

# Local Modal/Python venvs at the repo root
.venv-modal/
