# Files written by release-please. It regenerates CHANGELOG.md and version-stamps the
# manifests listed under `extra-files` in release-please-config.json, and its output is
# not prettier-formatted. `validate:format` (inside validate:all, which CI runs) checks
# every repo-level *.md/*.json, so without this every release PR fails a required check
# and no release can merge — observed on PR #112 for 3.0.0.
#
# Formatting these is not ours to own: the bot rewrites them on every release, so any
# reformat would be reverted on the next run.
CHANGELOG.md
manifest.json
.claude-plugin/plugin.json
# Root plugin.json joined this list when it gained a version writer (Tier 2.3, 2026-08-13). It is
# the CANONICAL Agent Plugins manifest and was previously bumped by nothing at all: release-please
# stamped the rendered `.claude-plugin/plugin.json` while the source it is rendered FROM kept the
# old number. Simulating a bump reproduced it — `validate:versions` reported a mismatch and
# `validate:render-drift` reported the rendered file ahead of its source. Both writers emit
# `JSON.stringify(…, 2)`, so it is now machine-formatted for the same reason its render is.
plugin.json

# Compact semantic projection of CLAUDE.md plus .claude/rules/*.md. Formatting it independently
# would create bytes the generator immediately replaces.
AGENTS.md
# Generated from module.yaml metadata plus dependency-cruiser JSON; generator owns exact bytes.
docs/reference/module-catalog.md

# Written by pyrefly (`validate:python` regenerates it with --baseline). It emits no
# trailing newline, which prettier requires — so the file oscillates between the two
# tools and fails validate:format whenever pyrefly last touched it.
hooks/.pyrefly-baseline.json

# Prettier does not converge on this file: `--write` followed by `--check` fails, and
# writing prettier's own stdout output back into the file still fails `--check` — measured
# 2026-08-06, reproduced across three write/check cycles. The same byte-identical content
# passes `--check` outside the repository, so the instability comes from option resolution
# under the root `.editorconfig` (no prettier config file resolves for `plans/**`), not
# from the content alone. Normalizing the one pathological construct — a `- [x]` item whose
# continuation paragraphs sit at 14 spaces while its sibling sits at 6 — did not fix it.
#
# Same class as the pyrefly baseline above: the file oscillates and fails `validate:format`,
# which is inside `validate:all` and therefore a required CI check, so nothing can merge.
#
# RETIREMENT CONDITION: delete this entry when `npx prettier --write` on the file makes
# `--check` pass. Re-test on any prettier major upgrade — this is an upstream instability,
# not a property of the prose.
plans/reference/sqlite-layer-remediation-2026-08-03.md

# Generated contract artifacts consumed by Python hooks and the OpenCode plugin.
# server/scripts/generate-contracts.ts owns their formatting; a prettier rewrite here
# would be reverted on the next generate:contracts run and fail validate:contracts.
hooks/lib/_generated/*.json
