# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Distribution / packaging
build/
dist/
*.egg-info/
.eggs/

# Virtual environments
.venv/
venv/
env/

# Test / tooling caches
.pytest_cache/
.ruff_cache/
.coverage
htmlcov/
.cache/

# SQLite databases (mnimi stores live here)
*.db
*.db-shm
*.db-wal
*.sqlite
*.sqlite3

# Scratch eval runs. Every run writes here and most are throwaway, so runs/ is
# the workbench. A number that gets published is COPIED to results/published/
# and committed — that directory is the record, and it is deliberately NOT
# ignored. See results/published/README.md before adding anything to it.
# Since 2026-09-22 (the run-documentation rule) two things inside runs/ ARE
# tracked: the append-only registry runs/INDEX.md and every run's
# manifest.json — small, and the record of runs that were never promoted.
runs/*
!runs/INDEX.md
!runs/*/
runs/*/*
!runs/*/manifest.json

# Downloaded eval data (LongMemEval is large; never commit it)
.data/
data/
*.json.gz
longmemeval_*.json

# Environment / secrets
.env
.env.*
!.env.example

# OS / editor cruft
.DS_Store
Thumbs.db
