# ---- Python ----
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
dist/
*.egg-info/
*.egg
.eggs/

# ---- 虚拟环境 ----
.venv/
venv/
env/
ENV/

# ---- uv ----
# uv.lock 需要提交（复现清单要求精确依赖版本）
# 见 docs/reproducibility.md

# ---- 数据 ----
# 计划书 §12.1：本仓库不提供数据镜像。scripts/download_data.py 把数据集落到这里，
# 并校验哈希。不下发，因为再分发要另看各数据源自己的许可。
data/

# ---- 测试与覆盖率 ----
.pytest_cache/
.coverage
.coverage.*
htmlcov/
.tox/
.nox/
coverage.xml
*.cover

# ---- 类型检查与缓存 ----
.mypy_cache/
.dmypy.json
dmypy.json
.ruff_cache/
.pytype/

# ---- Jupyter ----
.ipynb_checkpoints/
*.ipynb~

# ---- 数据与实验产物 ----
# 数据集不入库：按计划书 §12.1 不镜像数据，只提供 scripts/download_data.py（逐文件校验 + 打印哈希）。
data/
datasets/
# 但**实验产物入库**（2026-09-23 起。原来这里忽略了 sweep_results/，即那些数据只存在于一块硬盘上）。
# 理由：论文的图表要从它们出；目录清单与保留策略见 sweep_results/README.md。
outputs/
runs/
wandb/
*.ckpt
*.pth
*.pt
*.npz
*.h5

# ---- 编辑器 / 系统 ----
.idea/
.vscode/*
!.vscode/settings.json
!.vscode/extensions.json
*.swp
*~
.DS_Store
Thumbs.db
desktop.ini

# ---- 构建与文档 ----
site/
docs/_build/

# ---- CI artifact ----
# scripts/gap_report.py 在 CI 里生成并上传，不入库：它由记录现算，
# 入库反而会多出一份需要跟着记录走、却没人会去核对的副本。
gap-report.md
gap-report.json

# ---- 环境变量 ----
# 本项目不使用任何环境变量；这里只是防止贡献者把本地的 .env 误提交。
.env
.env.*
