# Per-file word-count overrides for ai/tools/docs_check.py (DOC002).
# Format: <repo-relative path> = <max words>
# These are pre-existing documents whose size predates the Scribe Coding migration
# (2026-08-03) — listed here rather than split, to avoid losing content during a
# structural reorganization. See docs/technical/01-documentation-conventions.md for
# the sprawl-control policy new documents should follow.

docs/CHANGELOG.md = 6500
# ^ tripled 2026-08-04: the 2000 ceiling set earlier the same day re-tripped within
# hours, mid-session, forcing an archive pass that interrupts the work generating the entries.
# This file grows by same-day append, unlike a settled requirements doc — the next archive
# pass happens on its own schedule, not forced by a ceiling sized for a single quiet day.
# Bumped 2026-08-06 (6000 -> 6500), not rotated: ai/tools/changelog_rotate.py's parser
# currently crashes on this file's own machine-generated "## Archived entries" footer
# (raises "entry header does not start with a date" — parse_changelog's skip-non-dated-
# block logic only skips blocks that don't start with "## ", but the footer heading does)
# — confirmed pre-existing against git HEAD, not caused by this session's entries. Rotation
# is blocked until that's fixed; this bump is a stopgap, not a replacement for it.
docs/archive/CHANGELOG-2026-07.md = 12500
# ^ archived-for-size, not sprawl — frozen content, headroom is just slack, not an
# invitation to keep adding to it.
docs/archive/CHANGELOG-2026-08-03.md = 3000
# ^ archived-for-size, not sprawl — frozen content, headroom is just slack, not an
# invitation to keep adding to it.
docs/archive/CHANGELOG-2026-08-04-early.md = 1200
# ^ archived-for-size, not sprawl — frozen content, headroom is just slack, not an
# invitation to keep adding to it.
docs/discussions/discussion-log.md = 5500
docs/plans/next-steps.md = 2200
docs/requirements/03-deploy.md = 2900
# ^ bumped 2026-08-06 -> 2900 on 2026-08-18 to admit BR-DEPLOY-024 (the maintenance hold,
# ADR-073). Unlike the grandfathered entries above, this is growth from NEW content, not
# pre-migration size. Flagged for Brian: this doc and 06-cli.md both hit their ceilings in
# the same change, which is the signal a split is due rather than another bump.
# ^ bumped 2026-08-04 for BR-DEPLOY-004/009/009a's promotion-is-proof-not-assertion rewrite
# (ADR-052); bumped again 2026-08-05 for BR-DEPLOY-003b (convergence verified against the
# running container, not the local image store — W-022).
# Bumped 2026-08-08 (2600 -> 2700) for BR-DEPLOY-023 (the cairn-adopt-owned marker) and
# BR-DEPLOY-006's rewrite to a concrete selection rule (ADR-072); real requirement growth,
# already trimmed once for size before this bump.
# docs/requirements/06-cli.md — override RETIRED 2026-08-18. The file was split: sections A
# and B moved to 06a-cli-build.md and 06b-cli-adopt.md, leaving the spine at ~2198 words,
# under the 2200 default. This is the review the retired ceiling was designed to trigger —
# it was set to trip before ~4500 rather than at it, and it worked. It guessed section E
# (shared conventions) would be the one to move; measurement pointed at A and B instead,
# role-specific content having grown to 57% of the file. Neither new file needs an entry.

docs/technical/05-implementation-index.md = 2300
# ^ bumped 2026-08-06 for the "Owned Docker recipe" row's recipe-trim + ADR-068 note — an
# inventory of the whole project's implementation state grows with the project, not sprawl.
docs/technical/ABOUT_GHCR.md = 3500
docs/technical/high-level-motivations-and-workflows.md = 2000
docs/archive/CHANGELOG-2026-08-04.md = 3500
# ^ archived-for-size, not sprawl — frozen content, headroom is just slack, not an
# invitation to keep adding to it.
docs/archive/CHANGELOG-2026-08-04-to-2026-08-05.md = 3600
# ^ archived-for-size, not sprawl — frozen content, headroom is just slack, not an
# invitation to keep adding to it.

docs/adr/073-target-stack-lifecycle-and-a-maintenance-state.md = 2600
# ^ 2026-08-18. Unusually long for an ADR because it carries a live investigation and two
# withdrawn claims kept visible on purpose (the rendered-gitops guess, and the AI inference
# that ADR-074 made an on-disk .env permanent). Splitting is the wrong tool for a decision
# record — one decision, one file — so the ceiling moves instead. Trim the superseded
# exploratory sections once the decision has been implemented and the history stops earning
# its space.
docs/archive/CHANGELOG-2026-08-05-to-2026-08-06.md = 3000
# ^ archived-for-size, not sprawl — frozen content, headroom is just slack, not an
# invitation to keep adding to it.
docs/archive/CHANGELOG-2026-08-06.md = 2300
# ^ archived-for-size, not sprawl — frozen content, headroom is just slack, not an
# invitation to keep adding to it.
