# Python
__pycache__/
*.py[cod]
*.egg-info/
.pytest_cache/
.coverage
.coverage.*
htmlcov/
dist/
build/
*.so
.hypothesis/

# Venvs
.venv/
venv/
env/

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

# Docs
docs/_build/
docs/sphinx/_build/
# Auto-generated rule pages (created by conf.py builder-inited hook)
docs/sphinx/rules/

# Local-only design and planning notes (kept out of the public repo)
docs/design/
docs/plans/

# Worktrees (used by superpowers workflows)
.worktrees/
worktrees/

# Local-only author artifacts — plan drafts, design specs, revision arcs.
# Backlog/README content may reference paths under docs/superpowers/ as
# "V1 source" pointers; those references document the internal arc but are
# not independently reachable from a fresh clone by design.
docs/superpowers/

# Dogfood harness artifacts (external repo clone + generated dumps/results).
# Reproducible from dogfood/clone_laplace_uq_bench.sh + generate_dumps.py.
dogfood/laplace-uq-bench/
dogfood/laplace_uq_bench/*.npz
# Exception: the 3 real-ML surrogate dumps are committed so the CI dogfood
# workflow (.github/workflows/physics-lint.yml) runs on a clean checkout.
!dogfood/laplace_uq_bench/unet_regressor_pred.npz
!dogfood/laplace_uq_bench/fno_pred.npz
!dogfood/laplace_uq_bench/ddpm_pred.npz
dogfood/results/
# Default extraction path for surrogate predictions produced by the local
# dogfood workflow (run_dogfood_real.py). Reproducible from local checkpoints;
# never belongs in the repo (~3 MB per file, opaque binary, would create a
# second stale source of truth next to the committed CI dumps above).
dogfood/_predictions/

# rollout-anchor harness local cache (populated by `modal volume get`)
external_validation/_rollout_anchors/01-lagrangebench/outputs/_local_mirror/
external_validation/_rollout_anchors/02-physicsnemo-mgn/cache/

# Repo-root diagnostic-log directory. Per the rung-4c convention,
# `/outputs/` at the repo root accumulates Modal-CLI run logs and
# pre-flight smoke artifacts that document validation work but are NOT
# part of the deliverable (deliverable = writeup + committed SARIFs +
# DECISIONS + Modal volume artifacts with backfilled manifests).
# Gitignored so a `git add -A` cannot accidentally promote a diagnostic
# log to release evidence; this hardens the rung-4c §9 review-gate
# fold-in's structural-not-hygiene posture (see Codex round-2 finding).
# LEADING SLASH required: `outputs/` without anchor would match any
# nested outputs/ dir, including the committed SARIF deliverable at
# external_validation/_rollout_anchors/01-lagrangebench/outputs/sarif/.
/outputs/
