# Generated files
/target/
**/*.rs.bk
Cargo.lock

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

# OS
.DS_Store
Thumbs.db

# Environment
.env
.env.local

# Research benchmark workbenches (never committed — contain host IPs / API keys / raw data)
# Pattern matches any subdirectory; explicit `paper1/` style entries kept for clarity.
/docs/research/benchmarks/*/
/docs/research/benchmarks/paper1/
/docs/research/benchmarks/paper2/
/docs/research/benchmarks/paper3/
/docs/research/benchmarks/paper4/

# Paper 1 public reproducibility pipeline — tracked, but .env + local artifacts are not
/docs/research/paper1-repro/.env
/docs/research/paper1-repro/artifacts/

# Python bytecode
__pycache__/
*.pyc

# Claude Code session runtime state
.claude/scheduled_tasks.lock

# Local project config
.devboy.toml

# Node.js (documentation)
node_modules/
doc_build/
dist/

# npm platform packages (binaries added by CI)
npm/devboy-tools-*/bin/
.playwright-cli/
# Local QA artefacts, never commit
.qa-bug-log-snapshot.md

# Personal real-world data dumps (per-user logs, raw extracts, never commit)
# Convention: anything personal goes under docs/research/data/__personal__/
docs/research/data/__personal__/
docs/research/data/*.zip

# Paper 2 reproducibility pipeline — tracked scripts, but large datasets are not
/docs/research/paper2-repro/ext/
/docs/research/paper2-repro/datasets/
/docs/research/paper2-repro/artifacts/
/docs/research/paper2-repro/.env
