target/
target_ci/
bin/
obj/
venv/
.venv/
env/
*.tmp
*.log

# Per-run harness output — scratch, not persisted (harness HLD §4.1/§9).
# The only persisted run state is benchmark/baseline/results.json (in git).
benchmark/runs/

# Agent scratchpads (CLAUDE.md notes/ convention) — working notes, not deliverables.
notes/

# Gold-curation scratch area — untracked working dir, not a deliverable
# (kept out so it cannot be swept into a commit).
wrk_gold/

# M9 fuzz harness: the HTML corpus and per-run scratch (HLD §9).
# The corpus is reproducible from benchmark/fuzz/manifest.jsonl (committed)
# plus the WARC offsets recorded therein, so we never store it in git.
benchmark/fuzz_corpus/
benchmark/fuzz/oracle_cache.jsonl
benchmark/fuzz/oracle_cache.err
benchmark/fuzz/divergences.jsonl
benchmark/fuzz/stage0/
benchmark/fuzz/stage2_validation/

# M12 broad sweep: same pattern as M9. The 52K HTML corpus, oracle cache,
# outlier report, and per-run scratch are all regenerable from
# benchmark/broad/manifest.jsonl (committed) + the harvest pipeline.
benchmark/broad_corpus/
benchmark/broad/oracle_cache.jsonl
benchmark/broad/oracle_cache.err
benchmark/broad/report.jsonl
benchmark/broad/sweep_output.txt
benchmark/broad/sweep_stderr.txt
benchmark/broad/sweep.pid

# Claude Code per-project config — local environment, not source.
.claude/

# One-time pre-publication scrub tooling (replace-patterns + filter-repo
# runbook). Contains the literal target strings the history scrub looks
# for, so committing it would defeat the scrub's purpose.
.publish-prep/
