# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local
.env

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts

# repo-relative ignores (old fixture trees now live under .old/)
.old/
.qodo/
.crush/
.dirac-symbol-index/

!/harness/folio-viewer/
/docs/docx-editor/
/dist/*


# python
__pycache__/
*.py[cod]
.venv/
.pytest_cache/
.ruff_cache/
*.egg-info/

# bench generated work folders (kept locally, cleaned in CI; see PLAN §4)
/runs/
# the Word corpus: git tracks its tables, pools, notices, provenance and manifest; the documents
# and PDFs come from the public HF dataset (uv run python scripts/fetch_corpus.py)
/corpus/word/*/docx/
/corpus/word/*/pdf/
/corpus/.cache/
# the HF dataset viewer configs: derived from the tables by scripts/hf_fixtures/hf_fixtures.py build,
# kept on the HF dataset (data/*.parquet), not in git (#70)
/corpus/data/*.parquet
# local bench logs (RESULTS live in results/; these are tee captures)
/logs/

# volatile local IDE state (GitHub Issues extension sync)
.vscode/github-issues/
runs/
.bench*
out/
.old/
.dirac*
.ruff_cache/
.venv/
.crush/
.pytest_cache/

**/**/__pycache__/
node_modules/superdoc-visual-benchmarks
.zcode/plans/
dist/
src/neurotic_docx_bench/utils/superdoc/node/node_modules/
src/neurotic_docx_bench/utils/superdoc/node_modules/
src/neurotic_docx_bench/utils/folio/node_modules/
src/neurotic_docx_bench/utils/docxodus/node_modules/docxodus/
# docx-redline-js was dropped in #88; older checkouts still hold its installed tree.
src/neurotic_docx_bench/utils/docx-redline-js/node_modules/
harness/folio-viewer/
corpus/word_based/superdoc_visual_benchmark/
corpus/word_based/superdoc_word_benchmark_canary/reports/
corpus/word_based/FIXTURES_TO_REMOVE.md
src/neurotic_docx_bench/utils/folio/harness/folio-viewer/bun.lock
docs/superpowers/plans/
src/neurotic_docx_bench/utils/docxodus/node_modules/
src/neurotic_docx_bench/utils/superdoc/harness-viewer-generation/node_modules/
src/neurotic_docx_bench/utils/folio/folio

# yuch85/superdoc-redlines — fresh clone + pnpm install at repo root (see AGENTS.md "Adding a tool")
# SuperDoc monorepo clone (Harbour-Enterprises/SuperDoc). The superdoc-native
# run's `dist:` points at superdoc/packages/super-editor. Too large to commit;
# see AGENTS.md "Adding a tool".
# Local Docxodus C# source + built npm package (the patched fork lives at
# ~/T/react-docxodus-viewer/Docxodus). The docxodus-playwright-* runs point
# their dist: here. Never was ignored, which is why it was never restored.
src/neurotic_docx_bench/utils/docxodus/Docxodus/
/superdoc/
/superdoc-redlines/
jubarte-rs-probe/
jubarte-lossless/

# Local jubarte-rust probe binaries (install from jubarte-rs release; do not commit)
src/neurotic_docx_bench/utils/jubarte/jubarte-rust/jubarte
src/neurotic_docx_bench/utils/jubarte/jubarte-rust/redline
src/neurotic_docx_bench/utils/jubarte/jubarte-rust/ENGINE_*.txt

# stemma-cli 0.5.0 release binary (ENGINE_COMMIT.txt + package.json stay tracked)
src/neurotic_docx_bench/utils/stemma/stemma

# post-PR-854 safe-docx compare runtime pin (ENGINE_COMMIT.txt + package.json stay tracked)
src/neurotic_docx_bench/utils/safe-docx-compare/node_modules/
# jubarte-wasm is a symlink into the canonical crate at jubarte-redlines/jubarte-wasm.
# Regenerate the crate + pkg there ("here"), never vendor a copy into this repo.
src/neurotic_docx_bench/utils/jubarte/jubarte-wasm
results/redline_speed_bench/**/fixtures_bytes/
**/**/fixtures_bytes/**

# W1–W5 wasm perf/memory profiler dumps (217MB, regenerable; findings live in TODO.md/RESULTS.md)
results/wasm_perf/
harness/folio-viewer-current/node_modules/

# Converter scratch (candidate PDFs, page rasters): gigabytes per corpus/word run.
results/*_work/

# Run artifacts under results/ — keep only number/summary files in git
# (summary.json, speed.jsonl, report.md, scores.*). Regenerable from benches.
# Rasters, renders, and candidate documents anywhere under results/.
results/**/*.png
results/**/*.pdf
results/**/*.docx
results/redline_speed_bench/**/pairs.json
results/redline_speed_bench/**/run.log
results/redline_speed_bench/**/*.log
results/redline_speed_bench/**/cpu/
results/redline_speed_bench/**/*.cpuprofile
results/redline_speed_bench/**/*.profile.json.gz
results/redline_speed_bench/**/*.samples.json
results/redline_speed_bench/**/*.profile_keys.json
results/redline_speed_bench/**/*.hot.json
results/redline_speed_bench/**/*.bak
results/redline_speed_bench/**/*-dist-fingerprint.json
results/redline_speed_bench/**/fixtures/
results/soffice_vs_word_redlines_randomized/**/docx/
results/soffice_vs_word_redlines_randomized/**/score_work/
# DOCX→PDF raster/work trees (keep results/docx_to_pdf_500.json)
results/docx_to_pdf_word500_work/
results/docx_to_pdf_accepted_rand_work/
results/docx_to_pdf_no_redline_work/
results/docx_to_pdf_500_jubarte.json
results/docx_to_pdf_work/
results/docx_to_pdf_eval_work/
results/docx_to_pdf_steer_work/
generate_timings.json

# Vendored docxide-pdf scorer: sources are committed, Cargo build output is not.
src/neurotic_docx_bench/utils/docxide-metrics/target/
# docxide_metrics sweep scratch (candidate PDFs + per-tool score dumps); the report
# results/docxide_metrics.json is committed, the work dir and tee log are not.
results/docxide_metrics_work/
results/docxide_metrics_run.log

# coverage.py artifacts. `/coverage` above only covers the directory; these are
# what `pytest --cov` writes beside it (the data file, the XML/LCOV exports and
# the HTML report), including the per-worker files pytest-xdist leaves.
.coverage
.coverage.*
coverage.xml
lcov.info
htmlcov/
# hub upload staging (bench results upload); rebuilt from results/ every time
results/hub/

# content-addressed render/raster/score cache (bench run; see content_cache.py)
/.bench-cache/

# local scratch: Claude session exports, editor swap files, a stray scorer patch
Claude outputs/
*.swp
score_v2.patch

# .NET build outputs of the in-process docxodus driver (the net8.0 build is tracked; newer builds are local)
/src/neurotic_docx_bench/utils/docxodus/docxodus-csharp-inproc/bin/
/src/neurotic_docx_bench/utils/docxodus/docxodus-csharp-inproc/obj/

# separate Cloudflare worker project, kept locally, not part of the bench
/docx-viewer/

# the review website: a linked worktree of THIS repo's gh-pages branch (the published
# site at https://jandira-tech.github.io/neurotic_docx_bench/). Lives inside the repo
# so all bench work is centralized; never commit its contents on main.
# Manage it with: git worktree list | see docs/PUBLISHING.md
/site/

# D1 live-bench harvest work state (runs, seen.csv, watermark; see live-bench/harvest/README.md)
/live-bench/.work/

# wrangler local dev state (D1 local copies, worker builds)
.wrangler/

# generated comparison output (scripts write it; history keeps the old files)
/results-compare/
.env
from_jubarte-redlines/
tmp/

# working data of `bench jubarte-release` measure (Word compare regenerations)
results/compare_regen/

# engine checkouts linked by scripts/link_engines.sh
src/neurotic_docx_bench/utils/jubarte/
src/neurotic_docx_bench/utils/docxodus/ooxmlsdk
src/neurotic_docx_bench/utils/folio-checkout
results/comment_balloons/
results/jubarte-loop
results/grok_run_view/
really_broken/
results/wordcraft_20261014_fresh/bin/
results/wordcraft_20261014_fresh/*.csv
results/wordcraft_20261014_fresh/**/*.csv
results/wordcraft_20261014/conversions.csv
results/wordcraft_20261014/comparisons.csv
results/wordcraft_20261014/word_screen_docxodus12.log
results/wordcraft_20261014_fresh/lf_backup_2026-10-14/comparisons.csv
results/wordcraft_20261014_fresh/lf_backup_2026-10-14/conversions.csv
/Users/arthrod/temp/T/neurotic_docx_bench/superdoc-redlines/
grok_run/

# bench hub get: downloads with no home in the checkout, and the staging folders beside a destination
hub-downloads/
.*.hub-*/
.hub-*/
src/neurotic_docx_bench/utils/docxodus-export/node_modules/
# corpus docx/PDF bytes live on the HF fixtures dataset; `bench fixtures get` brings them back
corpus/**/*.docx
corpus/**/*.pdf
