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

# Virtual environments / tooling caches
.venv/
.uv-cache/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
.coverage.*
htmlcov/
coverage.xml

# Docs build
site/

# Fallback-rebuilt indices live in the XDG cache, outside the repo; the shipped
# prebuilt index (src/gmat_copilot/rag/corpus/index.faiss) is a committed artifact.
.cache/

# Leaderboard held-out + live-recorded bundles are fetched into this cache by gated CI and must
# NEVER be committed: the held-out golds are the anti-overfitting firewall (decision D16). The
# published board (leaderboard/leaderboard.json) and the seed config are committed; this cache is not.
leaderboard/.cache/

# The published board is injected into the Space payload at publish time (copied from the committed
# leaderboard/leaderboard.json); the copy inside the static template is a build artifact, not source.
leaderboard/space/leaderboard.json

# Editors / OS
.vscode/
.idea/
*.swp
.DS_Store
