compiled/
*.dep
*.zo
.DS_Store
.direnv/
.beagle/
doc/
runtime/.cpcache/
runtime/target/
runtime/src/beagle/target.clj
runtime/src/beagle/run_*.clj
runtime/src/test/
runtime/src/test.clj
runtime/src/heist/
runtime/src/trading/
pipeline/
result
runtime/src/kea/
runtime/src/promotions.clj

# Rust build artifacts for tools/ (the built binary stays out of git).
# Cargo.lock IS tracked: the nix-import-roundtrip test bootstraps
# tools/nix-parse-json deterministically from tracked inputs (`cargo build
# --locked`), so its pinned dependency versions must be committed.
tools/*/target/

# Python bytecode (bin/beagle_repair_apply.py + tests)
__pycache__/
*.pyc

# Scratch + default emit output (regenerated; never source).
# beagle-build / beagle-build-all default here when no output is named, so
# throwaway emit can't pollute the tracked tree (override root with BEAGLE_OUT).
.scratch/
.beagle-out/

# Internal agent notes / status / scratch / handoffs — NOT user-facing docs.
# Keep out of git. Put private notes under docs/private/.
docs/private/

# selfhost lab scratch (oracle mints, parity diffs) — derived, re-mintable
.lab/

# selfhost native-image build artifacts — derived (self-host/native/build.sh)
self-host/native/classes/
self-host/native/.cpcache/
self-host/native/beagle-selfhost
self-host/native/beagle-selfhost.seed-nar-hash

# Git worktrees parked inside the checkout (agent workflows) — never tracked.
.worktrees/
fuzz/nightly-out/
.beagle/run/
