Refresh the opt-in line-count guard so current files match the recorded baseline.
- Document why the guard remains outside the default test gate.
- Re-ratchet current line-count violations after organic growth.
- Tighten or prune stale baseline entries and grandfather two long-existing over-cap files.
Files changed:
scripts/check-file-line-count.mjs | 3 +
scripts/line-count-baseline.json | 133 +++++++++++++++++++-------------------
2 files changed, 69 insertions(+), 67 deletions(-)
Fusion-Task-Id: FN-7013
Fusion-Task-Lineage: bd770058-5b42-4d63-a18d-bf46b7b957e0
Re-ratchet the opt-in line-count audit baseline so current oversized files no longer fail the ceiling check.
- Document that the pnpm test blocker premise is stale because the guard is opt-in.
- Refresh grandfathered line-count ceilings to the current merged tree.
- Add TerminalModal.tsx to the grandfathered oversized-file baseline and drop entries that no longer need it.
Files changed:
scripts/check-file-line-count.mjs | 3 ++
scripts/line-count-baseline.json | 80 +++++++++++++++++++--------------------
2 files changed, 42 insertions(+), 41 deletions(-)
Fusion-Task-Id: FN-6917
Fusion-Task-Lineage: aaa018d8-f1a3-47a5-b63b-f18bac87b910
Refresh the line-count audit baseline to match current repository drift.
- Update the grandfathered large-file baseline counts for current source and test files.
- Document that the line-count guard is now an opt-in audit rather than a pretest blocker.
Files changed:
scripts/check-file-line-count.mjs | 3 +++
scripts/line-count-baseline.json | 22 +++++++++++-----------
2 files changed, 14 insertions(+), 11 deletions(-)
Fusion-Task-Id: FN-6871
Fusion-Task-Lineage: d2fcf11e-2959-45a0-9bd1-1dc33b591ccf
Refresh the line-count guardrail baseline so pretest accepts the current grandfathered source sizes.
- Document the FN-6849 maintenance re-ratchet in the line-count guard script.
- Regenerate the grandfathered line-count baseline for current oversized source and test files.
- Keep the guardrail active while unblocking unrelated pretest runs.
Files changed:
scripts/check-file-line-count.mjs | 7 ++++
scripts/line-count-baseline.json | 74 +++++++++++++++++++--------------------
2 files changed, 44 insertions(+), 37 deletions(-)
Fusion-Task-Id: FN-6849
Fusion-Task-Lineage: 07c04c2a-535c-43b0-9dd5-700ead4e06f0
- Import URL from node:url to clear ESLint no-undef (coderabbit)
- Throw on unreadable tracked files instead of silently skipping, so a
file can't evade the cap and false-pass (coderabbit)
- Emit the "baseline can be tightened" note for deleted-only stale entries
too, with a correct count (greptile)
- Add FNXC:CI comments to the guard and its test per AGENTS.md (greptile)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a pretest guard that caps new source files at 2,000 lines to stop
god-files from being born, following the existing check-no-* guard pattern.
Existing oversized files (106 of them) are grandfathered via a ratchet
baseline (scripts/line-count-baseline.json): each is pinned to its current
line count and may shrink but never grow. Files refactored under the cap
drop out of the baseline and cannot regress. Generated, lock, locale, and
.d.ts files are out of scope via the source-extension filter.
Wired into pretest and pretest:full; covered by 11 unit tests.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>