# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# Virtual environments
venv/
env/
ENV/
.venv

# Testing
.pytest_cache/
.coverage
htmlcov/
.tox/

# IDEs
.vscode/
.idea/
.cursor/
*.swp
*.swo
*~

# Environment
.env
.env.local

# OS
.DS_Store
Thumbs.db

# Outputs
outputs/
*.log

# Temporary files
temp_reference/
tmp/
credentials.json
token.json
client_secret_*.json


# LaTeX build artifacts
*.aux
*.bbl
*.blg
*.fdb_latexmk
*.fls
*.out
*.synctex.gz
*.toc
*.lof
*.lot
*.nav
*.snm
*.vrb

# HELM framework (cloned repository)
helm/

# HELM benchmark outputs
benchmark_output/
prod_env/

# HELM cache files
.cache/

# External cloned repositories
factualNLG/
creative-writing-bench/
external/

# Evaluation results (large JSONL files)
# Ignore only the root-level results/ folder; keep results/ inside experiments/
/results/

# Paper data (large training datasets)
paper/data/

# Trained model files
models/*.json
models/*.bin
models/*.pkl

# Blog assets (large images)
blog/prev/

# Large data files
*.sqlite
*.zip

# Large training/intermediate data files (keep only production models)
data/archive/
data/instance_level_training_data/
data/intermediate_data/
**/livecodebench_prompts.csv
**/instance_level_training_data.json
**/instance_level_training_data.csv

# Large JSON data files (over 1MB)
data/real_intent_prompts_labeled*.json

# Backup files
*.bak
*_backup*

# NVIDIA feature cache (regeneratable)
data/nvidia_features_cache/

# Async bandit artifacts (large, deployment-specific)
data/router_state*.json
data/router_state*.npz

# Large model files (download separately or use Git LFS)
data/quality_predictor/*.pt
data/quality_predictor/*.bin
paretobandit/data/quality_predictor/*.pt
paretobandit/data/quality_predictor/*.bin

# Warmup logs (regeneratable)
data/warmup/*.jsonl
data/warmup/*.json
paretobandit/data/warmup/

# Dense run logs (in-progress, regeneratable)
data/priors/archetype_grid_dense_run.jsonl
paretobandit/data/priors/archetype_grid_dense_run.jsonl

# Large PyTorch models
*.pt
internal_judge.pt

# Large data files  
*_agreed.jsonl
*_comparison.jsonl
helpsteer_gemini_*.jsonl

# Large data files (regeneratable)
**/expert_priors*.npz
**/train_rewards.jsonl
**/lmsys_all_prompts.jsonl
**/*_comparison.jsonl

# Additional large removals
**/test_rewards.jsonl
**/prompt_embeddings.npy
**/full_embeddings*.npy
**/train_embeddings*.npy
**/*.pdf
!paper/main.pdf

# Large reward data files (>10MB)
paretobandit/data/*_rewards*.jsonl
paretobandit/data/lmsys_all_prompts*.jsonl
paretobandit/data/helpsteer*.jsonl

# Keep small essential files
!paretobandit/data/test_prompts.jsonl
!paretobandit/data/train_prompts.jsonl
!paretobandit/data/train_prompts_sampled_1k.jsonl
!paretobandit/data/golden_prompts.jsonl
# Large log files
run_log*.txt
# Large data files
src/pareto_bandit/data/*_rewards*.jsonl
src/pareto_bandit/data/helpsteer*.jsonl

# Large database files
router_context.db
router_context.db-shm
router_context.db-wal

# Large offline dataset files
src/pareto_bandit/data/offline_dataset/*.jsonl

# Keep split-specific reward files (essential for experiments)
!src/pareto_bandit/data/offline_dataset/dev_rewards.jsonl.gz
!src/pareto_bandit/data/offline_dataset/holdout_rewards.jsonl.gz

# Root data directory (artifacts & state)
data/

# Ship essential pip-package artifacts (PCA + warmup priors)
!src/pareto_bandit/data/
!src/pareto_bandit/data/artifacts/
!src/pareto_bandit/data/artifacts/pca_25.joblib
!src/pareto_bandit/data/artifacts/priors_k3_25comp.joblib
!src/pareto_bandit/data/README.md

# Large archive files (too big for GitHub, keep local only)
data_collection/embeddings/archive/lmsys_pca_training_embeddings.npz
data_collection/rewards/archive/legacy_k10/dev_rewards_complete_all_models.jsonl.gz

# RouteLLM comparison data
data/routellm/*.jsonl.gz
data/routellm/*.jsonl

# MkDocs build output
site/
