# Rust
target/

# IDEs
.vscode/
.idea/

# OS
.DS_Store
# AppleDouble sidecars (`._name`) that macOS leaves on the self-hosted runner's
# clean:false tree; otherwise they read as untracked and `cargo publish` aborts.
._*
Thumbs.db

# Logs
*.log

# Temporary files
*.tmp
*.swp

.env*
.secrets*
tmp/
.mcp.json
/.claude/*local.json
/.claude
.agents/
skills-lock.json
/benches/corpus/

# AGENTS.md is the canonical, tracked instructions file; CLAUDE.md is a local
# symlink to it for Claude Code (which reads CLAUDE.md). Keep the symlink local.
/CLAUDE.md

# Release pipeline artifacts created in the working tree. The self-hosted runner
# uses clean:false, so these persist between runs and would otherwise dirty the
# tree and make `cargo publish` refuse to release.
/dist/
/minisign*

# Benchmark fixtures/results and any query set derived from the operator's
# corpus capture full conversation content (including API keys, wallet
# addresses, and private project paths embedded in indexed messages). The
# paraphrased query set is also derivative - even after paraphrasing the
# topics and project names leak. Regenerate locally via `bench.py`. Never
# commit these.
/ops/search-benchmarks/fixtures/
/ops/search-benchmarks/results/
/ops/search-benchmarks/queries-paraphrased*.tsv
/ops/search-benchmarks/queries-real-use*.tsv
/ops/search-benchmarks/queries-false-negatives*.tsv
/ops/search-benchmarks/arms*.json
/ops/search-benchmarks/__pycache__/

# Corpus snapshot enumerates the operator's projects by name; aggregate
# stats appear inline in the benchmark report. Regenerate via `pond status`.
/docs/researches/embeddings/snapshot.txt

# moon local cache (rebuilt on demand; never commit)
/.moon/cache/
# generated from vcs.hooks in workspace.yml on every moon run
/.moon/hooks/

# wrangler local state/cache (created by `wrangler deploy`)
/.wrangler/

# nix build output symlink
/result
