Measured while working objectui#7528 (prose-only card, no constant touched). Filing
rather than riding it in: this is a decision about bytes, not a comment fix.
The live margin is 4.0 KB, and the design argument assumes 45.7 KB
Measured on 52cac3886 — a full pnpm turbo run build --filter='./packages/*'
plus pnpm --filter @object-ui/console build, then pnpm check:eager-closure:
✅ Console eager closure is 3187.4 KB gzipped across 50 of 518 chunks (budget: 3191.4 KB, headroom: 4.0 KB).
✅ Ceiling sensitivity (5 ceilings, each weighed against the report just read):
✅ aggregate closure 3187.4 KB measured / 3191.4 KB ceiling (headroom 4.0 KB = 0.05x the 89.0 KB regression) [MAX_EAGER_CLOSURE_GZIP_BYTES]
Raw, from apps/console/dist/eager-closure.json: eagerGzipBytes 3,263,896
against MAX_EAGER_CLOSURE_GZIP_BYTES 3,268,000 — 4,104 bytes of headroom.
The header of scripts/check-eager-closure-budget.mjs states what the ceiling was
chosen to be: "today's measured payload plus half the 89 KiB regression the gate
exists to catch". Against BASELINE.gzipBytes (3,222,314, commit 3d257c85a)
that is 45,686 bytes, 0.50x the regression — the figure objectui#7518 confirmed as
the file's own current reading. The live payload has since grown 41,582 bytes, so
the margin actually in force is 9% of the one the design argues for.
Why this is worth a card
Bundle Analysis is a required context. Any change adding ~4 KB to the
eager closure lands red on main, not on the PR that discusses it.
- The per-chunk ceilings are in the same state:
ui-components 4.0 KB (0.04x),
i18n-locales 5.7 KB (0.06x), framework 2.4 KB (0.03x). Only
vendor-objectstack (18.2 KB, 0.20x) has real room.
- The gate is not broken — it is reporting this itself, in the sensitivity half
objectui#5924 added. Nothing else says it out loud.
⛔ What this is NOT a request for
Not a ceiling raise. The file rules on that in its own words: "Silently bumping
the number to make CI green reproduces the gate this file replaced", and
re-baselining "is a DECISION, so make it visible". Two honest routes:
- Find the bytes. objectui#7486 is a live candidate already filed — the
console eagerly fetches all ten locale catalogues, ~476 KB gzipped, where a
viewer uses one.
- A declared re-baseline, with what the added bytes buy written in the PR,
which is the procedure the header already sets out.
Choosing between them is the maintainer's call, which is why this is filed
unassigned rather than fixed.
Not covered elsewhere
objectui#7518 (closed) was about two prose sentences disagreeing about the
headroom, both computed against the frozen baseline; this is the live margin,
which neither sentence describes. objectui#7528 is prose-only and ⛔ ruled out
touching any constant or verdict.
Generated by Claude Code
Measured while working objectui#7528 (prose-only card, no constant touched). Filing
rather than riding it in: this is a decision about bytes, not a comment fix.
The live margin is 4.0 KB, and the design argument assumes 45.7 KB
Measured on
52cac3886— a fullpnpm turbo run build --filter='./packages/*'plus
pnpm --filter @object-ui/console build, thenpnpm check:eager-closure:Raw, from
apps/console/dist/eager-closure.json:eagerGzipBytes3,263,896against
MAX_EAGER_CLOSURE_GZIP_BYTES3,268,000 — 4,104 bytes of headroom.The header of
scripts/check-eager-closure-budget.mjsstates what the ceiling waschosen to be: "today's measured payload plus half the 89 KiB regression the gate
exists to catch". Against
BASELINE.gzipBytes(3,222,314, commit3d257c85a)that is 45,686 bytes, 0.50x the regression — the figure objectui#7518 confirmed as
the file's own current reading. The live payload has since grown 41,582 bytes, so
the margin actually in force is 9% of the one the design argues for.
Why this is worth a card
Bundle Analysisis a required context. Any change adding ~4 KB to theeager closure lands red on
main, not on the PR that discusses it.ui-components4.0 KB (0.04x),i18n-locales5.7 KB (0.06x),framework2.4 KB (0.03x). Onlyvendor-objectstack(18.2 KB, 0.20x) has real room.objectui#5924 added. Nothing else says it out loud.
⛔ What this is NOT a request for
Not a ceiling raise. The file rules on that in its own words: "Silently bumping
the number to make CI green reproduces the gate this file replaced", and
re-baselining "is a DECISION, so make it visible". Two honest routes:
console eagerly fetches all ten locale catalogues, ~476 KB gzipped, where a
viewer uses one.
which is the procedure the header already sets out.
Choosing between them is the maintainer's call, which is why this is filed
unassigned rather than fixed.
Not covered elsewhere
objectui#7518 (closed) was about two prose sentences disagreeing about the
headroom, both computed against the frozen baseline; this is the live margin,
which neither sentence describes. objectui#7528 is prose-only and ⛔ ruled out
touching any constant or verdict.
Generated by Claude Code