fix(ci): re-measure the drifted t-chunk bundle ceiling - #9529
Conversation
main @ 9af9543 builds the t chunk at 795,127 B (776.5 KB) against a 777 KB ceiling (0.07% headroom), so feature PRs adding routine English keys fail Bundle Size Gate on their merge ref while main stays green (first seen on #8307). Ceiling moves to 815 KB (5% headroom), matching the all/App convention.
Opus 4.8 Review — ✅ no blocking findingsReviewed Verdict parsed from the review's SHA-scoped output markers for commit False positive or not applicable? A repository writer can comment: |
UX Review (Fable 5) — ✅ PASSUX-level review of UX-Verdict: PASS CI-only bundle-ceiling bump; no user-visible surface changes, so nothing for a user to see or misread. [UX-REVIEWED] 16d4ca8 |
Design Review (Fable 5) — 🟡 CONCERNSDesign-level review of Design-Verdict: CONCERNS The bump is correct per the file's own convention, but the file itself proves that convention now has a ~4-day half-life for catalog chunks. WatchThe previous Suggestions
[DESIGN-REVIEWED] 16d4ca8 |
GPT 5.6 Review — ✅ no blocking findingsGPT 5.6 completed its review of This comment is updated in place on each push. Review detailsNo findings. False positive or not applicable? A repository writer can comment: |
iamwhatever
left a comment
There was a problem hiding this comment.
Tier 1 auto-approve: chore / build tooling (1 file). Criteria: no conflict, no requested changes, security path denylist clean, design-doc gate clean, SAST annotations clean, security checklist all-NO, AI reviewers green. Category: CI bundle-size budget for the t-chunk re-measured from 777 KB to 815 KB after main drifted to 776.5 KB (0.07% headroom); a single constant in website/scripts/check-bundle-size.mjs, no runtime impact.
dwu96
left a comment
There was a problem hiding this comment.
Tier 1 auto-approve: chore / build tooling (1 file). Criteria: no conflict, no requested changes, security path denylist clean, design-doc gate clean, SAST annotations clean, security checklist all-NO, AI reviewers green. Category: CI-only budget re-measurement in website/scripts/check-bundle-size.mjs -- the t-chunk ceiling had drifted to 0.07% headroom (main alone builds 776.5 KB against a 777 KB cap), so any PR adding English strings tripped it while main's own gate stayed green; the ceiling moves to 815 KB, restoring the same 5% headroom convention the neighbouring entries already use. No runtime code touched.
chenmingwei23
left a comment
There was a problem hiding this comment.
Tier 1 auto-approve: fix/ci (1 file). Criteria: no conflict, no requested changes, security path denylist clean, design-doc gate clean, SAST annotations clean, security checklist all-NO, AI reviewers green. Category: single-line CHUNK_BUDGETS ceiling re-measure on check-bundle-size.mjs, CI-only, no runtime impact.
Problem
The
tchunk (i18n runtime + English catalog) ceiling is 777 KB. Pristinemain@9af9543b0builds it at 795,127 B = 776.5 KB — 0.07% headroom (verified locally withnpx vite build --mode analyze+node scripts/check-bundle-size.mjs; samet-lertjcbp.jscontent hash as main's own CI run). Any PR adding a normal set of English keys now fails Bundle Size Gate on its merge ref while main's own gate stays green — first seen on #8307 (+40 keys, 778.9 KB).This is the third recurrence the file's own comment describes (#8412 for
t, #8519 forApp, #8935 forall): a ceiling that drifted to <1% headroom fails on routine string growth instead of on the new library it exists to catch.Change
One line:
t: 777 * KB→t: 815 * KB(776.5 KB × 1.05, matching the 5% convention used by theallandAppentries), plus the re-measurement note.Verification
node scripts/check-bundle-size.mjson pristine main: 817 chunks within budget.npx eslint scripts/check-bundle-size.mjs: clean.Unblocks #8307.
Pattern harvest
Rule candidate: ci (
main-ratchet-audit.yml)Pattern: an allowlisted
CHUNK_BUDGETSceiling drifts to <1% headroom on main, so the next feature PR with routine string growth reds Bundle Size Gate on its merge ref while main's own gate stays green. Third occurrence in four days (#8412t, #8519App, #8935all, nowtagain). The audit that already runs on every push to main can build once, compare each allowlisted chunk against its ceiling, and open/flag a re-measure when headroom falls under ~1% — catching the drift before it lands on a contributor's PR.