# Generated benchmark/test scratch output
tests/benchmark/results/

# Results (scan outputs, checkpoints, benchmark and planner-eval cards) are local-only. Release
# benchmark cards are uploaded as certification artifacts and their digests are sealed into the
# certified receipt attached to each GitHub Release; nothing under results/ belongs in git.
results/

# Environment
.venv/
venv/
.env
.env.local
.env.*
backups/
.shakerscan-fleet/
.shakerscan-model-intake-runner-stage/
.shakerscan-local-build
.shakerscan-local-build.tmp.*
.shakerscan-build-receipt.json
.shakerscan-build-receipt.json.tmp.*

# Claude Code local settings
.claude/settings.local.json
.claude/projects/

# Node
node_modules/
.next/
*.tsbuildinfo
ui/next-env.d.ts
ui/test-results/
ui/playwright-report/
*.log
bun.lockb

# Python
__pycache__/
*.pyc
*.pyo
.pytest_cache/
*.egg-info/
dist/
build/
.coverage
htmlcov/
coverage/

# Docker
*.tar

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

# OS
.DS_Store
Thumbs.db

# Operator audit evidence (historical engineering ledgers are in Git history)
audit-results/

# Test-runner XML output from scripts/run_complete_python_suite.py
artifacts/v2-*.xml

# Operator data never belongs in the public source tree.
/exports/
/captures/
/quarantine/
/operator-data/
*.har
*.pcap
*.pcapng
*.sqlite
*.sqlite3
*.dump
# Deliberately reviewed synthetic fixtures may be checked in.
!tests/fixtures/**/*.har
!tests/fixtures/**/*.pcap
!tests/fixtures/**/*.pcapng

# The shakerscan client (client/): build outputs, and the runtime modules vendored at build time.
client/dist/
client/build/
client/src/shakerscan/_mcp.py
client/src/shakerscan/_v2_cli.py
