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

# Tooling
.pytest_cache/
.ruff_cache/
.mypy_cache/

# Tremula runtime cache (rebuildable — never committed)
*.sqlite
*.sqlite3
*.db
.tremula-index/

# Local Claude Code state (machine-specific approvals — never committed).
# Also covered by a global git ignore on the author's machine, but the repo
# must protect collaborators' clones on its own.
.claude/settings.local.json

# Env files (none are used; preventive — never commit credentials)
.env
.env.*

# OMC scratch (runtime state — only .omc/specs/ is meant to be committed).
# Match at any depth: OMC agents can drop a .omc/ inside subdirs (e.g. when run
# with cwd under tremula-vault/), and that state must never be committed either.
**/.omc/state/
**/.omc/sessions/
**/.omc/project-memory.json

# Per-stage build progress notes (local working log, not part of the repo)
stage-progress/
