.venv/
__pycache__/
*.pyc
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/
dist/
build/
*.egg-info/
.env
env/google-service-account.json

# Results: gitignored by default; regenerable from the source corpora and
# the scripts in the research workspace. Specific ledger / report files
# that the public README/CHANGELOG cite as evidence are whitelisted below
# so the claims are traceable in the cloned repo.
results/*
!results/.gitkeep
!results/cell_level_validation_2026-05-25_verified.jsonl
!results/koh_walk_2026-05-25_verified.checkpoint.json
!results/ziemann_2016_validation.jsonl
!results/ziemann_2016_validation.md
!results/calibration_ci_report.md
!results/calibration_ci_report.json
!results/calibration_with_fp_anchors.md
!results/mutation_report.md
!results/platt_scaling_report.md

.DS_Store
.playwright-mcp/
*.log
nohup.out

# Personal-environment tooling: not part of the public artifact.
.aiwg/
.claude/
AIWG.md
CLAUDE.md

# Dev scratch / scratch-pad files: never commit.
scratch/
scratch_*.py
debug_*.py
tmp_*.py
*_scratch.py
*_debug.py
*.bak
*.tmp
*~
*.swp
*.swo
.vscode/
.idea/
*.iml

# OS junk
Thumbs.db
desktop.ini
ehthumbs.db
$RECYCLE.BIN/

# Docker scratch
.docker-build-cache/

# Python build / dist
*.egg
*.whl
pip-wheel-metadata/

# Mutation-testing work directories (research workspace only).
mutants/
.mutmut-cache/

# Raw multi-species downloads (large, refetchable via
# `scripts/refresh_multispecies_xref.py`; only the parsed `.xref.tsv`
# files inside src/uncorrupt/_data/registries/ ship in the wheel).
src/uncorrupt/_data/registries/MGI_EntrezGene.rpt
src/uncorrupt/_data/registries/MRK_ENSEMBL.rpt
src/uncorrupt/_data/registries/BGI_FB.json.gz
src/uncorrupt/_data/registries/BGI_WB.json.gz
src/uncorrupt/_data/registries/Rattus_norvegicus.gene_info.gz
src/uncorrupt/_data/registries/zfin_aliases.txt
src/uncorrupt/_data/registries/zfin_ensembl_1_to_1.txt
src/uncorrupt/_data/registries/zfin_gene.txt
