# 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 = 2700
# ^ 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 = 4250
# ^ recalibrated 2026-08-04: default ceiling rose to 2200 and this entry set to
# real headroom (current ~3130 words) instead of the last-few-dozen-words margin it had
# drifted to from repeated same-day bumps (ADR-048, ADR-050, ADR-052). ~4500 words is where
# the doc's own A-E sectioning judged to stop being sufficient and an actual split (most
# likely: section E, shared conventions, into its own file) becomes the right call — this
# ceiling is set to trip a fresh review before that point, not at it.
# Bumped 2026-08-06 (4000 -> 4200) for BR-CLI-007's build-timer check + --all flag (ADR-070);
# bumped 2026-08-08 (4200 -> 4250) for BR-CLI-028 (cairn-adopt prune) plus BR-CLI-005/018
# amendments (ADR-072) — still short of the ~4500 split threshold above.
# still comfortably under the ~4500 split trigger noted above, so no section split yet.
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.
