# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
*.so

# Distribution / packaging
build/
dist/
*.egg-info/
*.egg

# Virtual environments
.venv/
venv/
env/
ENV/

# Testing / coverage
.pytest_cache/
.coverage
.coverage.*
htmlcov/
coverage.xml
.hypothesis/

# Linters / type checkers
.ruff_cache/
.mypy_cache/

# IDE
.idea/
.vscode/
*.swp
*.swo
*~

# Claude Code session-local settings
.claude/

# OS
.DS_Store
Thumbs.db

# uv
.python-version
# uv.lock IS tracked: CI resolves from it so a new upstream release cannot break
# a build that touched nothing. A separate non-blocking job still installs
# latest, so drift stays visible instead of silent.

# Jupyter
.ipynb_checkpoints/

# marimo (notebook layout/session cache; the .py notebooks themselves are tracked)
__marimo__/

# Internal planning (not for public repo)
docs/internal/
docs/superpowers/

# mkdocs build output
site/

# Git worktrees
.worktrees/

# P1b validation run outputs (re-generated per run)
validation/reports/
# Intermediate CSVs from validation/gen_datasets.R (parquet is the source of truth)
validation/data/*.csv
# Local profiling artifacts (regenerated per run; see validation/profile_fit.py)
validation/data/profile_fit_*.pstats
validation/data/profile_fit_*.txt

# ζ head-to-head benchmark artifacts (spike code tracked, outputs regenerated)
validation/spikes/zeta/data/
validation/spikes/zeta/timings/
validation/spikes/zeta/reports/
validation/spikes/zeta/*.log

# η perf-ceiling spike artifacts (spike code tracked, outputs regenerated)
validation/spikes/eta/data/
validation/spikes/eta/timings/
validation/spikes/eta/reports/
validation/spikes/eta/logs/

# θ kernel-rewrite + GPU POC spike artifacts
validation/spikes/theta/logs/
validation/spikes/theta/reports/

# equivalence-gate cache (maintainer-local)
validation/alignment/_cache/

# Local agent/tool trace logs (session-local, regenerated per run)
.vouch-trace.jsonl
.xtree-trace.jsonl

# Conformal CR paper: private CHF cohort loader + any cohort-derived artifacts.
# CHF is partner's clinical data — schema/path/results must never be committed.
validation/spikes/conformal/data/chf.py
validation/spikes/conformal/**/chf_*
validation/spikes/conformal/data/*.parquet
validation/reports/conformal/

# Trellis task/spec workspace (internal planning; this repo is public)
.trellis/
AGENTS.md

# Manuscript working directories. This repo is public, so unpublished drafts,
# reviewer/verifier notes, and named-recipient outreach emails stay local.
# Published manuscripts live in paper/paper.md (JOSS) and on arXiv.
paper/arxiv/
paper/conformal/
C3-VERIFY-PROMPT.md
# Same reason: this README is the results section of the unpublished conformal
# manuscript (theorem-by-theorem claim map + headline numbers), not a guide to
# the spike code. The e1-e6 scripts themselves are tracked.
validation/spikes/conformal/experiments/README.md
