# Environment
.env
.env.local
.env.*.local

# Python
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg-info/
dist/
build/
.eggs/
*.egg
.venv/
venv/
env/

# IDE
.vscode/
.idea/
.cursor/
*.swp
*.swo
*~

# OS
.DS_Store
Thumbs.db

# Docker
docker-compose.override.yml

# Alembic
alembic/versions/__pycache__/

# Node (receipt-ui)
node_modules/
apps/receipt_ui/dist/

# Testing
.coverage
htmlcov/
.pytest_cache/
.mypy_cache/
.ruff_cache/

# Logs
*.log
logs/
*.pid

# Benchmark data (large JSON files — download separately)
benchmarks/data/*.json
runtime_v2/eval/benchmark_data/generated/**
runtime_v2/eval/benchmark_data/frozen/**
runtime_v2/eval/benchmark_data/**/*.predictions.json
runtime_v2/eval/benchmark_data/**/*.seed.json
runtime_v2/eval/benchmark_data/**/*.augmented.json
runtime_v2/eval/reports/**/*.json
runtime_v2/eval/reports/**/profile_slo_runs/**

# Runtime v2 generated state/artifacts
runtime_v2/data/**
runtime_v2/layer2/data/**
runtime_v2/**/*.tar.gz
runtime_v2/layer2/**/*.tar.gz
runtime_v2/experimental/hpc/*.json
runtime_v2/experimental/training/precomputed/**
runtime_v2/experimental/training/.locks/**
runtime_v2/experimental/training/artifacts/**
runtime_v2/experimental/training/datasets/**
runtime_v2/experimental/training/experiments/**
runtime_v2/layer2/experimental/hpc/*.json
runtime_v2/layer2/experimental/training/precomputed/**
runtime_v2/layer2/experimental/training/.locks/**
runtime_v2/layer2/experimental/training/artifacts/**
runtime_v2/layer2/experimental/training/datasets/**
runtime_v2/layer2/experimental/training/experiments/**
runtime_v2/layer2/dataops/ghpr.csv
runtime_v2/layer2/dataops/artifacts/**
runtime_v2/layer2/dataops/imports/**
runtime_v2/layer2/dataops/samples/**
# Keep Layer 2 source code tracked; ignore only generated data/artifacts above.
runtime_v1/

# Eval local/cache/archive noise (manager-facing surface stays clean)
runtime_v2/eval/__pycache__/
runtime_v2/eval/reports/.locks/
runtime_v2/eval/reports/archive/**
runtime_v2/eval/CLEANUP_CLASSIFICATION_*.json
runtime_v2/eval/CLEANUP_MANIFEST_*.json

# Python local cache
**/__pycache__/

# Local analysis/build artifacts
.mplconfig/
documents/*.aux
documents/*.out
documents/*.log
documents/*.pdf
*.aux
*.out
031*_ICP.pdf

# Benchmark results (regenerated by running benchmarks)
benchmarks/results.json
benchmarks/llm_eval_results.json

# Binary assets
*.png
!apps/receipt_ui/9dlabs_logo.png

# Runtime v2 agents — generated eval data, reports, and runtime state
runtime_v2_agents/evals/data/generated/**
runtime_v2_agents/runtime_v2/layer2/data/**
runtime_v2_agents/runtime_v2/layer2/data*/**
runtime_v2_agents/evals/data/recorded/**/*.json
!runtime_v2_agents/evals/data/recorded/pilot_replays/pilot_trace_sample.json
runtime_v2_agents/runtime_v2/eval/reports/**/*.json
runtime_v2_agents/runtime_v2/eval/reports/**/*.csv

# Dataops large data files (imported datasets, artifacts)
runtime_v2/dataops/imports/**/*.jsonl
runtime_v2/dataops/imports/**/*.json
runtime_v2/dataops/artifacts/**
runtime_v2/dataops/ghpr.csv
runtime_v2/dataops/samples/**/*.jsonl

# LaTeX build artifacts  
*.synctex.gz
*.fls
*.fdb_latexmk
*.bbl
*.blg
*.toc

# Zip bundles
*.zip

# Demos — benchmark run data (generated, large JSON)
demos/code-agent/arena/benchmark_runs/*.json

# Root-level evals generated data
evals/data/generated/**
