.DS_Store
# Continuation prompts are tracked. These three lines used to read
# "_contprompts/" followed immediately by "!_contprompts/", which cancelled the
# ignore and left every file here showing as untracked rather than hidden --
# the reason a backlog of them accumulated outside version control.
.env
.env.*
logs/
*.log
.claude/
.playwright-mcp/
.playwright-cli/
memory/
*.backup
node_modules/
test-results/
playwright-report/
dist/
reports/

# Local typeset PDF editions and rendering/QA intermediates.
output/pdf/
output/epub/

# Scratch working tree. Sessions unpack virtualenvs and toolchains here, and
# `working_source_identity` in scripts/release_artifact.py hashes every
# Git-visible file -- so a venv's relative `bin/python` symlink pointing at a
# system interpreter aborted the whole site build with "source identity symlink
# escapes repository". Ignoring the directory keeps scratch out of the
# candidate input set; it supersedes the narrower tmp/pdfs/ rule.
tmp/

# Agent control-plane runtime state. Reviewed milestone, release, and incident
# receipts are promoted explicitly to tracked ops/receipts/ instead.
ops/runtime/

# Render, image-generation and QA scratch. `working_source_identity` in
# scripts/release_artifact.py hashes every Git-visible file to bind the deploy
# candidate, excluding only reports/ and dist/ -- so 3.4 GB of local dumps here
# entered the candidate identity that CI, from a clean checkout, never sees. The
# same commit therefore had two different source identities depending on who
# hashed it, which defeats the point of binding one. Six of these files also
# exceed the 50 MB ceiling check_publication_contract.py enforces.
#
# The text records beside these dumps -- prompts, manifests, integration reports,
# ledgers -- ARE tracked provenance for published artwork and stay visible; only
# the bulk output is ignored. Nothing already tracked is affected: .gitignore
# does not apply to tracked files.
output/video/
output/playwright/
output/review-removal/
output/imagegen/**/*.png
output/imagegen/**/*.webp
output/imagegen/**/*.jpg
output/imagegen/**/*.jpeg
output/qa/**/before/
output/qa/**/root-before-integration/
# Compressed `git status` snapshots taken mid-run. Opaque binary blobs
# that cannot be diffed or reviewed, unlike the JSON and Markdown QA
# records beside them, which are tracked.
output/qa/**/*.z

# Build intermediates
Psychopathia_Machinalis_v*.html
Psychopathia_Machinalis_cosmic.html
Psychopathia_Machinalis_cosmic.backup.html

# Pre-existing temp files
index.html.bak
index.html.pre-structural
martins_rules_review_report.md

# MCP server wheel data bundle (produced by scripts/sync_data_for_wheel.py)
research/mcp/server/dist/
research/mcp/server/build/
research/mcp/server/*.egg-info/

# Undeployed vendor development copies. The public runtime uses only the
# versioned minified bundles and SIMD WASM named in release/site-files.yaml.
assets/vendor/transformers-2.17.2/ort-wasm.wasm
assets/vendor/web-llm-0.2.80/index.js

# Python bytecode / caches
__pycache__/
*.pyc
*.pyo

# Launch-audit working artifacts (not part of the deployed site)
_audit/

# Pre-publication manuscript draft — kept locally, must not deploy publicly
Psychopathia First Batch of 4 - Draft 2 (28 March 2026).pdf

# Internal working content — kept locally, not for public deploy
manuscript/_embargoed_*
manuscript/_improvements/
_wiki/
research/_hybrid_fill/

# Clinic dev-only runtime test scaffolding (npm scripts use it locally; not for public deploy)
clinic/tests/

# Internal docs untracked at launch (continuation prompts, validation status, a PII doc).
# Already-tracked public docs stay tracked (gitignore does not untrack them):
# docs/probe_results/, docs/RESEARCH_SUMMARY.pdf, docs/CROSS_VALIDATION_RESULTS.pdf.
# Use `git add -f docs/<file>` to publish a new doc intentionally.
docs/

research/_clinic_fix/
assets/figures/RodrickWallace-New Views of Madness.pdf

# FontAwesome source/dev directories - only css/ and webfonts/ are served
assets/fontawesome-free-6.6.0-web/metadata/
assets/fontawesome-free-6.6.0-web/svgs/
assets/fontawesome-free-6.6.0-web/js/
assets/fontawesome-free-6.6.0-web/sprites/
assets/fontawesome-free-6.6.0-web/less/
assets/fontawesome-free-6.6.0-web/scss/

# Local verification output (rendered comparison PNGs, canon dumps).
research/tools/*/out/

# Stray bundle residue. The MCP bundle's file set must match DATA_MANIFEST.json
# exactly (loader.py raises "bundled data contains missing or unexpected files"),
# and sync_data_for_wheel.py only syncs axes/ and hybrids/. The 2.1/2.2/10.14
# exemplar snapshots were retired on 12 Aug 2026 as duplicate Pattern IDs; see
# research/mcp/exemplars/README.md. Nothing unlisted belongs under _data/.
research/mcp/server/psychopathia_mcp/_data/exemplars/
