# Lockfiles are managed by their package manager — never reformat them.
pnpm-lock.yaml
package-lock.json
yarn.lock

# Build output and generated artifacts
# Root CHANGELOG.md carries sections generated byte-for-byte by
# scripts/release/generate-release-notes.mjs — reformatting breaks its idempotent regeneration.
/CHANGELOG.md

# Migration manifests are RFC 8785 canonical bytes plus one newline. Formatting changes their digest.
dist/
**/dist/
coverage/
.next/

# D2: common-mistakes.md is a 88-row catalogue. Prettier's table alignment padded it to 195 KB, of
# which 156 KB (80%) was alignment whitespace — and AGENTS.md tells every agent to read this file
# before non-trivial work, so that padding was paid as context on every read. Squeezed to 37 KB.
# Safe because scan-mistake-mechanisms parses the `**Mechanism:**` TOKEN and a `| <n> |` row opener
# with `\s*`, never column geometry: verified by re-running it across the squeeze — 88 entries,
# 39 mechanisms, 49 accepted, before and after.

# Preserve the historical RULE-2380 record from replacement ancestry byte-for-byte.

# Package CHANGELOGs keep __PRODUCT_*__ placeholders the product generator replaces; prettier
# would turn them into bold text.
**/CHANGELOG.md
