venv/
__pycache__/
*.pyc
.env
# Private copyrighted manuals — NEVER commit or ship (re-express, never reproduce):
vault/
# product images extracted from manuals (training data, private):
data/vision/
logs/
state_snapshots/
vision/models/*.pt
vision/models/*.onnx
sim/*.mp4
.DS_Store
.mypy_cache/
.pytest_cache/
.ruff_cache/
# Local dev/test databases (prod uses Postgres via DATABASE_URL):
*.db
*.db-wal
*.db-shm
backend/operandi.db
backend/.env
# Generated owner-dashboard snapshots (rebuilt by scripts/gen_dashboard.py):
dashboard/operandi.html
backend/app/static/operandi.html
data/validation_report.json
data/qa_report.json
data/review_queue.json
data/phys_report.json
state.json
data/audit_report.json
data/needs_review.jsonl
# Generated census scorecard (rebuilt by scripts/census.py):
data/census_report.json
data/census_report.html
# Reversible dedupe quarantine (superseded manifests/ROPs) — audit trash, not product:
data/manifests/_superseded/
data/rop/_superseded/

# Vision training (heavy deps + work dirs + weights — built locally):
vision/venv/
vision/_work/
vision/models/*.json
data/vision/models/
vision/models/*.npz
yolo11n-cls.pt

# adapter validation download proofs (large binaries; not extracted)
data/validation_downloads/
stage_a/manuals/
stage_a/images/
stage_a/*.zip

# Quarantined non-manual PDFs (reversible; harvest.py --clean)
vault_rejected/

# Build artifacts (python -m build output; publish via twine from local)
mcp/dist/
sdk/dist/
*.egg-info/
data/agent_tasks/

# Generated per-procedure ROPs (rebuilt deterministically by scripts/compile.py from
# manifests + compiler version). 19k+ files churned every recompile — the manifests and
# the compiler ARE the source of truth; committing their output buried real diffs.
data/rop/*
# …EXCEPT the two flagship ROPs that tests/test_sim_completion.py and tests/test_validate_tier.py
# pin by glob (each takes sorted(...)[0], which is the base file, not a __procedure one). They are
# the demo the project rests on, they are ~87KB together, and without them in the checkout those
# seven tests fail on every machine but this one — they had never once run in CI.
!data/rop/microwave-oven-magic-chef-mco160sf.rop.json
!data/rop/microwave_oven-samsung-me20h705mss.rop.json
data/_probe_gather_free/

# ── The corpus: git holds the CODE, backup_offsite.sh holds the DATA (2026-08-13) ──────────
# manifests/ and trust/ are pipeline OUTPUT — LLM extraction over the private vault — and the
# post-chain rewrites EVERY one of them on every run (15,958 files in 5 minutes, measured
# 2026-08-12). Committing them buried real diffs exactly as data/rop/ did, and 33,461 of them
# untracked is what stood between this repo and its first push. Their safety net is
# scripts/backup_offsite.sh (iCloud tarball + offsite repo), NOT this repository — the vault
# they derive from was never in git either, so git was never the system of record for data.
data/manifests/
data/trust/

# Oversized generated blobs — GitHub HARD-REJECTS any file over 100MB, which is how the
# offsite backup repo bricked itself (215MB state/operandi.db.gz in 14 unpushed commits).
data/registry.db.bak-*
data/registry.sqlite
data/subject_worklist.jsonl

# Reversible purge/quarantine snapshots (audit trash, restorable, hundreds of MB)
data/purged_*/
data/unparseable/
data/proof/

# Generated reports, benches and worklists — every one is rebuilt by the script that names it
data/attestation_report.json
data/battery_*.json
data/*_e2e.json
data/e2e_*.json
data/endtoend.json
data/plate_bench_wild.json
data/vlm_bakeoff.json
data/user_trial.json
data/derive_verify.json
data/category_mismatch.json
data/rejected_docs.json
data/focus_set.json
data/known_issues.json
data/acquire_targets_progress.json
data/rop_attest.json
data/rop_attest.jsonl
data/harvest_drops.jsonl
data/subject_*.jsonl
data/requeue_bad.jsonl
data/manual_rewanted.jsonl
data/reclaim_*.jsonl

# Demo recordings (24-26MB each, regenerated by the demo scripts)
demo/*.gif

# Compiled Swift OCR helper (built from vision/tools/AppleOCR.swift, which IS committed)
vision/tools/appleocr
dist/
data/load_test.json
logs/load_test_server.log
data/calibration.json
data/vault_audit.json
.release/
