# Python caches/builds
__pycache__/
*.py[cod]
*.so
*.egg-info/
.eggs/
build/
dist/
wheels/
MANIFEST

# Environments
.venv/
venv/
env/

# Test/coverage caches
.pytest_cache/
.coverage
htmlcov/
.mypy_cache/

# Jupyter/editor/OS
.ipynb_checkpoints/
*.ipynb~
.vscode/
.idea/
.DS_Store

# Local secrets
.env
.env.local
credentials.json

# Generated runtime artifacts
outputs/
outputs-provenance-patched.zip
outputs-*-patched.zip
site/
scratch/
tmp/
test_execution_output/

# Numeric/data outputs
*.pkl
*.h5
*.hdf5
*.npy
*.npz

# Agent local state
.claude/

# Local Cursor skill wiring (machine-specific; never commit)
.cursor/skills/
.cursor/local/

# Composer harness audit staging (local only)
composer_2_5_harness_audit_staging/
composer_2_5_agent_harness_audit.zip

# Exploratory HDP-MVC diagnostics (local only; committed etude under artifacts/etudes/)
artifacts/msvc_hdp_diagnostic/
scripts/hdp_mvc_*.py

# Development & local experimentation
.cursor/
figures/
internal_docs/
reports/v1_spectrolaminar_10k/
test_gpu.py

# PRP / agent working notes -- internal roadmap, per-file audit scores, and
# session-to-session agent handoff notes. Confirmed 2026-07-14 (independent
# audit): these were tracked and pushed to the public repo, exposing internal
# roadmap reasoning and competitive citation-strategy notes. Stopped tracking
# going forward; not scrubbed from history (explicit decision, repo stays
# public) -- keep these local-only or in a private location from here on.
artifacts/developer/
# Labyrinth .lab/ graph -- structural nodes ARE tracked (since 2026-07-30) so the
# graph syncs across machines; regenerating it per-clone loses every hand-written
# note/issue, which is the part that isn't derivable from the repo.
# Excluded below: nodes generated from artifacts/developer/ (gitignored since
# 2026-07-14 for leaking roadmap/competitive notes into this PUBLIC repo -- the
# plan-* nodes mirror plans.json items, so tracking them would re-leak the same
# content), plus per-run churn that would conflict between machines.
artifacts/.lab/plan-*.json
artifacts/.lab/Archive/
artifacts/.lab/.formation_backups/
artifacts/.lab/suggestions.json
artifacts/.lab/metrics.json
# artifacts/legacy/internal_docs/ is covered by the internal_docs/ rule above,
# but two files under it are load-bearing for tests/test_agent_context_hygiene.py
# and tests/test_docs_equations_plotly_v0214.py -- explicit force-tracked
# exceptions (git add -f), confirmed non-sensitive (agent-context/skills docs,
# no roadmap/strategy content) before being kept public. Git requires every
# ancestor directory to be explicitly un-ignored too (a bare `!file` inside an
# ignored parent dir is silently a no-op) -- hence the full chain below, not
# just the two leaf files.
!artifacts/legacy/internal_docs
artifacts/legacy/internal_docs/*
!artifacts/legacy/internal_docs/agent_context
artifacts/legacy/internal_docs/agent_context/*
!artifacts/legacy/internal_docs/agent_context/claude
artifacts/legacy/internal_docs/agent_context/claude/*
!artifacts/legacy/internal_docs/agent_context/claude/CLAUDE.md
!artifacts/legacy/internal_docs/skills
artifacts/legacy/internal_docs/skills/*
!artifacts/legacy/internal_docs/skills/skill_visual_outputs.md

# Local session analysis scripts + their output dirs (not package code)
cortex_100_*.py
cortex_100_*/
cortex_calibration_*.py
cortex_calibration/
phase0_*.py
phase0_*/

# Generated tutorial outputs / receipts (regenerated by running notebooks)
tutorials/tutorial_outputs/
/tutorial_outputs/
tutorials/*_suite03_*.png
tutorials/suite_no*_figures.zip
tutorials/suite_no*_public_manifest.json
tutorials/suite_no*_*_receipt.json

# Local untracked etudes/figures output
local/

# Script-generated visualization artifacts (regenerate via scripts/)
scripts/out/
