__pycache__/
*.py[cod]
*.pyo
.mypy_cache/
.ruff_cache/
.pytest_cache/
.coverage
htmlcov/
.venv/
venv/
node_modules/
.next/
dist/
build/
*.egg-info/
.env
.env.local
/data/projects/
/data/datasets/
/artifacts/
packages/artifacts/
/src/artifacts/
/src/data/
demo/reports/
/reports/
/models/
logs/
.DS_Store
*.db
*.sqlite
*.sqlite3
apps/data/
apps/web/node_modules
reproduction/
# Runtime output dirs (regenerated by `dsa`, `dsa demo`, `dsa --limit N`)
/benchmarks/ds-agent-benchmark/results/
/demo/
/output/
.playwright-cli/
*.tsbuildinfo
plugins/.registry_state.json
dist/
site/
apps/vscode/out/
apps/vscode/node_modules/
.mimosa/

# DataSciBench adapter: upstream clone + gated GT never committed (§23)
benchmarks/external/datascibench/.workspace/
# GT-run checkpoint (resume state; canonical artifact is results/raw_runs.json)
benchmarks/external/datascibench/results/raw_runs.partial.jsonl

# Nested v4.3.0 clone with uncommitted frontend-redesign WIP; FRONTEND_REDESIGN_PROMPT.md
# and apps/web/{components,lib/format.ts,lib/theme.tsx} exist nowhere else. Ignored, not deleted.
/data-science-agent/

# Derived telemetry from scripts/audit_facts.py -- rewritten every run, so it is a cache.
# The committed contract is docs/audit/facts.limits.json; this file is not.
docs/audit/facts.snapshot.json
