# ── Secrets — NEVER commit these ─────────────────────────────────────────────
.env
*.env
.env.local
.env.production

# ── Python ───────────────────────────────────────────────────────────────────
__pycache__/
*.py[cod]
*.pyo
*.pyd
.Python
*.egg-info/
dist/
build/
.venv/
venv/
env/
.mypy_cache/
.ruff_cache/
.pytest_cache/
htmlcov/
.coverage

# ── Node / Frontend ──────────────────────────────────────────────────────────
node_modules/
frontend/dist/
frontend/.vite/
*.tsbuildinfo

# ── Logs & temp ──────────────────────────────────────────────────────────────
*.log
backend_log.txt
session_transcript.txt
*.tmp

# ── Docker volumes (local data) ──────────────────────────────────────────────
qdrant_storage/
neo4j_data/

# ── Third-party eval datasets (downloaded by user, not redistributed) ────────
# LoCoMo data is from snap-research/locomo — fetch via instructions in EVAL.md
backend/eval_data/*.json
!backend/eval_data/.gitkeep

# Generated benchmark outputs and local harness scratch are never release
# inputs. Keep evaluation code and locked datasets in their dedicated folders.
backend/runs/
backend/artifacts/*.json
backend/pytest_tmp_*/
artifacts/*.json
artifacts/continuum-*.md
scratch/
evals/
.codex-factcon-tests.tar.gz
BENCHMARK_REPORT*.md
continuum_factconsolidation_benchmark*.png
backend/scripts/run_continuum_topk_ab.py
backend/scripts/run_provider_api_diagnostic.py
backend/scripts/score_direct_api_artifact.py
backend/scripts/verify_extractor_determinism.py
backend/uv.lock
.worktrees/
.release-sdk-0.3.0/
artifacts/
backend/eval_data/external/

# ── OS ───────────────────────────────────────────────────────────────────────
.DS_Store
Thumbs.db
desktop.ini
