# Python
__pycache__/
*.py[cod]
*.egg-info/
.venv/
venv/
uv.lock

# OS / IDE
.DS_Store
.idea/
.vscode/
*.swp

# Generated harness surfaces — .agents/ is the source of truth.
# These are committed on purpose: a fresh clone needs them to be recognised
# by Claude Code / GitHub Copilot. Every file carries a "generated from .agents/"
# banner that points readers back to the source. Do not gitignore them.

# Distribution targets (per-machine config)
tools/.distribute-targets

# Per-session agent state: setup/engine nudge opt-outs and the board answer the
# §4.2 fallback records. Machine-local, session-scoped, never a durable record —
# the durable board pointer is context/tooling/board.md, written by /setup-awow.
.awow/

# Claude Code Tracing
.claude/settings.local.json
.claude/mlflow/
**/.claude/settings.local.json
**/.claude/mlflow/
mlruns/

# Regression suite — run files now live at /tmp/awow-test-runs/, not in-repo

# Daily-routine working artefacts — ephemeral scratch, not durable records.
# The day snapshot feeds the projections; the durable outputs are digests/ (overview)
# and whatever synthesis promotes into context/knowledge-base/.
# NOTE: KB candidates are NOT ignored — they now stage in context/kb-inbox/, which is
# committed on purpose (the synthesis drain reads committed state).
activity/

# Private session-derived data — NEVER commit to this PUBLIC repo.
# Raw exports and the reports/timelines built from them carry real names,
# private issue IDs, infra topology, and cost figures. The pre-push leak scan
# (tools/hooks/pre-push) is a backstop; keeping the data untracked is the first line.
mlflow_export/
**/mlflow_export/
coach_reviews/
**/coach_reviews/
sessions.json
timeline.html

# Fixture .venv markers and activity snapshots are frozen test data, not real
# virtualenvs / ephemeral working state — re-include them.
!tests/*/fixtures/**/.venv/
!tests/*/fixtures/**/.venv/**
!tests/*/fixtures/**/activity/
!tests/*/fixtures/**/activity/**

# Local scratch: superpowers specs/plans (ship via awow_io)
docs/

# PyPI placeholder build output (packaging/pypi) — never committed
packaging/pypi/dist/
