# --- EnergyIRWebPortal: its OWN git repo (github.com/dmjdxb/EnergyIRWebPortal); never track it here ---
EnergyIRWebPortal/

# --- Rust ---
target/
**/target/
*.rlib
*.rmeta

# --- C / C++ build artifacts ---
*.o
*.obj
*.exe
*.dylib
*.dll
benchmarks/cross_language/cpp_harness/cpp_harness

# Don't ignore Cargo.lock — we want reproducible builds for this benchmark suite.

# --- Node ---
node_modules/
**/node_modules/
package-lock.json
npm-debug.log*

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

.venv/
venv/
env/

.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/
.tox/

# --- Editor / OS ---
.idea/
.vscode/
*.swp
.DS_Store

# --- Benchmark transient outputs (results vary per run; not source) ---
bench_results/
*.jsonl
*.parquet
thermal_*.csv
thermal_*.log
power_*.log
/tmp/thermal_*

# --- Experiment raw outputs (1.5+ GB of regenerable measurement data) ---
# REPORT.md, PRE_REGISTRATION.md, and scripts/ stay tracked.
# raw measurement dumps, per-experiment venvs, and .tmp scratch do NOT.
experiments/*/results/
experiments/*/venv/
experiments/*/venv_*/
experiments/*/.venv/
experiments/*/.venv_*/
experiments/*/raw/
experiments/*/.tmp/
experiments/*/__pycache__/
experiments/**/*.tar.gz

# --- Stray top-level venvs ---
.venv_arm64/
.venv_x86/
energy_doctor/

# --- This repo ships only the pip-install-ready package; the research monorepo
#     (heavy measurement data + the full paper) lives outside the published tree. ---
site/
paper/
~:code:pyenv-pro/
equation_suite_results.json
experiments/
benchmarks/
run_bench_energy_sudo.sh
run_precision_train_sudo.sh
run_roofline_gpu_sudo.sh

# --- Editor / OS extras ---
.claude/
.cursor/
*.tmp
*.bak

# --- Hypothesis ---
.hypothesis/
benchmarks/cross_language/results/*_power.log

# research measurement dumps inside the package tree (not pip-ready)
python/energy/analysis/ml_suite/logs_gpu/

# --- Repo hygiene: never commit working-tree git backups or CI site output ---
.git.backup-*/
_site/

# graphify code-graph tool output (32MB generated artifact — regenerate locally)
graphify-out/
