# -----------------------------------------------------------------------------
# Myco v0.4.0 .gitignore
#
# This file is fresh-authored for the greenfield rewrite. The pre-rewrite
# .gitignore referenced v0.3 concepts (Wave 8 cleanup notes, notes/n_*.md,
# docs/primordia/archive/, etc.) that now live under legacy_v0_3/ and no
# longer need root-level rules. That content is preserved inside
# legacy_v0_3/.gitignore_v0_3 for historical reference if needed.
# -----------------------------------------------------------------------------

# Python
__pycache__/
*.py[cod]
*.pyo
*.egg-info/
*.egg

# Build artifacts (`python -m build --outdir .dist` per v0.8.4).
.dist/
build/
*.whl

# Virtual environments
.venv/
venv/
env/

# Test / tooling caches
.pytest_cache/
.coverage
.coverage.*
# v0.5.10: coverage.json was tracked by accident in v0.5.x. Re-
# ignoring it here so ``coverage run --format=json`` output cannot
# re-enter the tree.
coverage.json
coverage.xml
htmlcov/
.mypy_cache/
.ruff_cache/

# OS files
.DS_Store
Thumbs.db

# Editor files
.vscode/
.idea/
*.swp
*.swo
*~

# Misc
*.orig

# Release ephemerals. gh release --notes-file, twine upload logs, and
# other scratch artifacts produced during the release playbook
# (documented in docs/primordia/agent_handoff_v0_4_1_2026-04-15.md §7)
# must never get committed or shipped in sdist.
.release_notes_*.md
upload*.log

# Environment secrets
.env
.env.*

# Claude Code / Cowork session-local settings.
# Stage C.2 (re-)introduced the tracked `.claude/hooks/` and
# `.claude/settings.local.json` subtree — those wire the SessionStart
# + PreCompact hooks to the v0.4.0 CLI.
# v0.6.11 added `.claude/agents/` and `.claude/commands/` for the
# 5 fungal-named subagents + 5 myco-* slash commands (project-level
# mirror of the plugin-bundle scope at <repo>/agents/ + <repo>/commands/).
# See docs/architecture/L2_DOCTRINE/boundary.md
# § "Subagents and slash commands (v0.6.11+)" for the surface contract.
# Everything else under .claude/ remains session-local and untracked.
/.claude/*
!/.claude/hooks/
!/.claude/settings.local.json
!/.claude/agents/
!/.claude/commands/
# Pre-rewrite tree. C.4 deleted it from git, but belt-and-suspenders:
# a top-level ignore rule means that even if a stray copy of the
# directory reappears in the working tree (restored backup, mount-point
# ghost, etc.), `git add` will refuse to re-stage it.
legacy_v0_3/

# Myco runtime substrate state — generated at runtime, not SSoT.
# (graph.json cache, shim_hits.json MB8 telemetry, autoseeded.txt
# skeleton marker, etc — every state file ends up here.)
.myco/state/**

# Graph-builder benchmark cache. Generating a 10 K-file synthetic
# substrate is expensive (~minutes wall-time, ~150 MB on disk) so
# tests/benchmark/test_graph_scale.py caches it locally and reuses
# across runs. The cache is per-developer-machine; never commit it.
tests/benchmark/.cache/
