# === Environment & Secrets ===
.env
.env.*

# === Python ===
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg
*.egg-info/
dist/
build/
.eggs/
*.whl
.pytest_cache/
.mypy_cache/
.ruff_cache/
htmlcov/
.coverage
.coverage.*
coverage.xml

# === Node / TypeScript ===
node_modules/
*.tsbuildinfo
package-lock.json

# === Rust ===
target/
Cargo.lock

# === OS / IDE ===
.DS_Store
Thumbs.db
.idea/
.vscode/
*.swp
*.swo
*~

# =============================================================
# Generated Benchmark Run Outputs
# =============================================================

# Any directory starting with "benchmark_results" (everywhere).
# Benchmark snapshots are generated run output and should not be committed.
**/benchmark_results*/

# Trajectory exports
**/trajectories/
**/*.art.jsonl
**/*.grpo.groups.json

# Orchestrator run groups and DB files are regenerated locally.
/benchmark_results/rg_*/
/benchmark_results/orchestrator.sqlite*
/benchmark_results/viewer_data.json

# Test output
**/test_output/

# Benchmark caches
**/.benchmark_cache/

# Local source checkouts for external harnesses
**/openclaw-src/
**/hermes-agent-src/
.agents/

# --- Ad-hoc run output directories (all benchmarks) ---
**/canonical_*/
**/smoke_*/
**/traj_*/
**/verified_*/
**/post_b_*/
**/post_delete_*/
**/real_db/
**/real_eliza_*/
**/full_eliza_*/
**/eliza_run_*/
**/ws_test*/
**/lateral_test*/
**/smart_smoke/
**/final_benchmark_results/

# --- Social-alpha ---
social-alpha/results/
social-alpha/trust_marketplace_benchmark.egg-info/

# Large dataset files (should be fetched separately or use LFS)
social-alpha/trenches-chat-dataset/data/
social-alpha/trenches-chat-dataset/compressed/
social-alpha/trenches-chat-dataset/price_fetch_progress.json

# --- Framework generated results (keep .gitkeep) ---
framework/results/*.json

# --- Stale refs ---
**/refs/

# SWE-bench cloned task workspaces (nested git repos; local checkout only)
swe-bench-workspace/

# --- Per-benchmark committed run output (regenerated locally; never commit) ---
# Underscore-prefixed smoke output dirs (the smoke_*/ rule above misses these).
**/_smoke_*/
**/_cli_smoke/
# CompactBench --output captures
compactbench/results*.jsonl
compactbench/results*.json
compactbench/external/
# Deleted EVM benchmark local run output
evm/metrics/
evm/skill_runner/_test_skill.ts
# Deleted LoCA benchmark local lockfile
loca-bench/uv.lock
# Trust handler result captures
trust/results*.json
# VoiceBench synthesized dataset (rebuilt by run.sh)
voicebench/shared/generated/
