Repository navigation
chore(scripts): raise every eager-closure ceiling by 20% and move the regression the gate must catch to 695 KiB (objectui#12653) - #12699
Merged
objectstack-fleet[bot] merged 1 commit intoOct 16, 2026
Conversation
… regression the gate must catch to 695 KiB (objectui#12653) Maintainer ruling: 「上限同统一调高 20% ,避免类似的问题。」 Each byte ceiling x1.20, rounded up to 1,000, from the values in force after objectui#12648. REGRESSION_THIS_GATE_MUST_CATCH_BYTES moves to 695 KiB, the smallest whole KiB that keeps the build non-blind and the constant-vs-constant guard green with BASELINE frozen. The gate's aggregate line now catches only regressions of about 695 KiB and above; the docblock records the trade. Three historical test reproductions carry the 89 KiB of their day, and objectui#5924's injection is pinned as passing under the raised ceiling. Claude-Session: https://claude.ai/code/session_01US8TwEXjyjVP6rvVtukGFE Co-authored-by: Claude <noreply@anthropic.com>
Contributor
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
Contributor
Author
席位核对 — ACCEPT · objectui#12653 · head
|
Contributor
Author
Landing · head
|
objectstack-fleet
Bot
deleted the
claude/issue-12653-budget-headroom-20
branch
October 16, 2026 14:32
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #12653
Clause-②: no
Raises every byte ceiling in
scripts/check-eager-closure-budget.mjsby 20%, on the maintainer's ruling, verbatim: 「上限同统一调高 20% ,避免类似的问题。」 Each ceiling is ×1.20, rounded up to the nearest 1,000 bytes, from the values in force after objectui#12648.Before and after (gzipped bytes)
MAX_EAGER_CLOSURE_GZIP_BYTESPER_CHUNK_GZIP_CEILINGS['vendor-objectstack']PER_CHUNK_GZIP_CEILINGS['i18n-locale-en']PER_CHUNK_GZIP_CEILINGS['framework']PER_CHUNK_GZIP_CEILINGS['ui-components']REGRESSION_THIS_GATE_MUST_CATCH_BYTESWhy the regression moved to 695 KiB
evaluateHeadroomSensitivitycalls a ceiling blind once its headroom reaches the regression, so a 20% raise with 89 KiB left in place reds the gate on itself. On a fresh build of this head the aggregate has 626.0 KB of headroom. The constant-vs-constant guard ('would have failed on the regression it exists to catch') weighs the ceiling against the frozenBASELINEinstead: 711,537 bytes. 695 KiB (711,680) is the smallest whole KiB that clears both.What the gate no longer catches
The aggregate line now fails only regressions of about 695 KiB gzipped and above. objectui#5266's 89 KiB and objectui#5924's 158,006-byte injection both pass it now. This is the trade the ruling accepts, and the docblock says so. Each per-chunk line still fails at its own, smaller headroom.
What did not move
BASELINEandPER_CHUNK_BASELINE(measurements), the 350 KB entry-chunk budget, and every other gate. No import was made lazy and no exemption was added.Tests changed beyond the constant
'89 * 1024'→'695 * 1024'in the literal-read pin.REGRESSION_AT_5924 = 89 * 1024). The drift case weighs the aggregate alone.-200_000.Test evidence (head
0d8b834)CI=true pnpm --filter @object-ui/console exec vite build: exit 0.pnpm check:eager-closure: exit 0.vendor-objectstack1519.2 / 1823.2 (0.44x)ui-components282.0 / 338.9 (0.08x)framework74.5 / 117.2 (0.06x)i18n-locale-en45.7 / 58.6 (0.02x)pnpm exec vitest run scripts/__tests__/check-eager-closure-budget.test.ts: 180/180.REGRESSION_THIS_GATE_MUST_CATCH_BYTES695 → 694 KiB gives 16 red, including the constant-vs-constant guard. After restore,git diff HEADis empty.node scripts/check-changeset-presence.mjs: exit 0. No released package source changed, so no changeset is owed.Generated by Claude Code