# Runtime data (assets, jobs, db) — never commit
data/

# Python
.venv/
venvs/
__pycache__/
*.pyc
.python-version

# Node / frontend build
web/node_modules/
web/dist/

# Secrets & local config
*.env
.env
# `.env` matches only the exact name and `*.env` only matches names ENDING in .env — neither
# catches a suffixed one like `.env.remote` (which sits un-ignored on the m1 today). Secrets
# live in .env files by convention here, so ignore the whole family; keep examples committable.
.env.*
!.env.example
server/.env

# Large model weights / caches
models/
*.safetensors
*.ckpt
*.pt

# Compiled native helpers (source is committed, binary is not)
bin/objcap
bin/*.o

# OS
.DS_Store
vendor/

# Brush runtime autotune cache
target/

# Brush prebuilt binary (reinstall via scripts/install_brush.sh)
bin/brush
bin/brush-app-aarch64-apple-darwin/

# GPU worker-pool config — primary only (a leaf worker must NOT have this)
nodes.json

# perfcheck runtime state — per-runner, not shared. The authoritative copy lives on the
# m4mini watchdog; baselines.json is derived from history.jsonl and regenerated each run.
scripts/perfcheck/history.jsonl
scripts/perfcheck/baselines.json
scripts/perfcheck/pending.json
