__pycache__/
*.pyc
*.pyo
*.egg-info/
.venv/
*.db
*.db-wal
*.db-shm
*.db-journal
test_seam/
.seam_chroma/
exports/

# Local benchmark run outputs at repo root (operator-driven smokes)
/run_*.json

# Conversation logs
conversations/
*.conversation
*.jsonl

# Secrets and credentials - NEVER commit these
.env
.env.*
!.env.example
*.pem
*.key
*.p12
*.pfx
secrets/
credentials/
credentials.json
service_account.json
config.local.*
*.secret
id_rsa
id_rsa.*
id_ed25519
id_ed25519.*
id_ecdsa
id_ecdsa.*
.ssh/

# Operator-local agent config (Codex/Claude/etc.) — never tracked
seam_runtime/config.toml

# Local agent/tooling state
.claude/
.lingma/
.pytest_cache/
build/
archive/code/generated-build*/
seam_runtime/_handoff_20260419/

# Derived snapshot payloads (keep directory marker only)
.seam/snapshots/*.json
.seam/surfaces/

# Local editor and agent config
.cursor/
.vscode/
.gemini/
.opencode/package.json
.opencode/package-lock.json

# Generated surface artifacts
*.seam.png

# Local artifact dumps
Webui-final-dash/
diag_out/

# Publish-only benchmark material stays local unless intentionally released
benchmarks/fixtures/holdout/*.json
!benchmarks/fixtures/holdout/*.example.json
benchmarks/runs/holdout/*.json
# Durable LoCoMo result bundles: persisted on disk (not /tmp) but operator-controlled, kept out of git
benchmarks/runs/locomo/*.json
# Local durable benchmark dataset copies (redundant with the in-repo committed copy; do not double-commit)
.dataset_store/
