# Virtual environment
.venv/

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

# Coverage
.coverage
coverage.xml
htmlcov/

# IDE
.idea/
.vscode/
*.swp

# OS
.DS_Store

# Data
data/
# Pinned upstream freMTPL2 downloads (scripts/fetch_fremtpl.py); this is what
# actions/cache stores, and it sits beside data/ rather than inside it so the
# cache holds the raw artifacts and not the normalised output.
.fremtpl-raw/

# Datasets are never tracked. `data/` only covers the directory, so a file
# dropped at the repo root -- data.parquet is the usual one -- was previously
# stageable by a plain `git add -A`. Belt and braces: no parquet is tracked
# anywhere, and none is tracked today, so this orphans nothing.
#
# If a fixture parquet is ever genuinely wanted in the tree it needs
# `git add -f`; without that it will silently not appear in the commit, which
# is the same trap `docs/superpowers/` already sets. Prefer generating fixtures
# in-test over committing one.
#
# Naming rule, which the ignore cannot enforce: the public freMTPL2freq /
# freMTPL2sev files may be referred to by name -- they are CASdatasets/OpenML
# and are already named across tests/ and docs/. Any other dataset must not be
# referenced by filename, path, column name or identifying row count in
# committed code, tests, comments, commit messages, PR bodies or issues.
*.parquet

# Other
.claude/
.ruff_cahce/
scratch/

# Benchmark outputs (generated, not tracked) — but the local perf-gate
# baselines are tracked configuration, not output; the /* form (not the
# bare-directory form) is required for the negation to take effect.
benchmarks/results/*
!benchmarks/results/local_perf_baselines.json

# Generated parity/reference CSVs (keep local, do not track)
tests/fixtures/mgcv_gamma_mtpl2sev_fitted.csv
tests/fixtures/mgcv_nb2_mtpl2_fitted.csv
tests/fixtures/mtpl2_freq_50k.csv
tests/fixtures/mtpl2_sev_merged.csv

# MkDocs build output
site/

ROADMAP.md
TESTING_AUDIT_PLAN.md
ISSUE_WORKING_WEIGHTS.md
REML_IMPLEMENTATION_PLAN.md

# scratch/ is a playground for local dev only — not for public release.
# Benchmarks, experiments, R comparisons, and throwaway scripts live here.
scratch/
docs/notebooks/spline_diagnostics/
.superglm-debug/

# Superpowers skill artifacts
docs/superpowers/
docs/reml_freml_paper_checklist.md

# Agentic harness artifacts
.harness/
PLAN.md
REVIEW.md
PROGRESS.md
GENERATOR_STATUS.md
REML_BAD_BEHAVIOUR.txt
.omx/

# Frontend development
node_modules/
playwright-report/
test-results/

# Build caches (mkdocs-jupyter writes here during `mkdocs build`)
.cache/
