__pycache__/
*.pyc
.venv/
dist/
*.egg-info/
.pytest_cache/
.ruff_cache/

# ui dev project
ui/node_modules/
# the smoke section index is DISCOVERED, never committed (ui/smoke/sections.mjs):
# a hand-edited list is the appendix that made every parallel UI card conflict.
ui/smoke/sections/index.generated.ts

# taskops
.taskops/remote.json
.taskops/pending.jsonl
.taskops/trees/
.taskops/hook-seen.json
.taskops/ui.json

.taskops/live.sqlite*
.taskops/board.local-*/
