Skip to content

Commit 6b104ad

Browse files
committed
docs(scripts): record the measured framework attribution the ceiling raise could not (objectui#8542)
`fa9e76ccd` raised `PER_CHUNK_GZIP_CEILINGS.framework` to 100,000 and recorded, honestly, that it could not say what the bytes bought: "the commits in that window have never been bisected — this checker is a two-build predicate over them and no one has run it." That is the one sentence this change replaces. The bisect has now been run — one `apps/console` build per point, each from the repo ROOT, `framework` read out of the `apps/console/dist/eager-closure.json` the build itself writes: | build | landed by | `framework` gzip | moved by | | `40a7c538a` | #8503 | 70,999 | last GREEN, 1 byte under | | `512c84b16` | #8519 | 70,999 | 0 | | `f76f43628` | #8512 | 71,261 | +262 | | `e76634cc8` | #8529 | 72,245 | +984 | | `e411c3e58` | #8562 | 72,248 | +3 | Two commits own the overage, not one, and the LARGER one is outside the window every card bounded its reasoning to: `e76634cc8` landed after the red had already started and carries 984 of the 1,246 bytes the pair added. A repair scoped to that window would have left `main` red. `512c84b16` emitted a byte-identical chunk to `40a7c538a` — the same `framework-nDOJv2Ij.js` content hash — so the three commits between them moved this chunk by zero, and `270f2825b` touches no file under `packages/(core|react|types)` at all. What the bytes buy is therefore sayable, which is what the gate's own failure message asks of a raise: both contributors are silent-wrong-answer fixes on one file's filter path. `f76f43628` stopped an unrecognised `$` operator adding no constraint and matching every row; `e76634cc8` stopped an array comparand and a `{ $field }` reference being compared by reference, which selected every row under `$ne` and no rows under `$eq` without saying so. No constant moves. The prose that records what the raise COSTS is kept intact, including that the attribution arrived after the ceiling did. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YBWFb5YgMU5dw8p2VKj16S
1 parent e411c3e commit 6b104ad

2 files changed

Lines changed: 75 additions & 11 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
---
3+
4+
Record the measured attribution for the `framework` per-chunk overage in
5+
`scripts/check-eager-closure-budget.mjs` (objectui#8542). Prose only; no package
6+
is released by this change and no constant moves.
7+
8+
The ceiling raise that landed as `fa9e76ccd` wrote that the bytes behind the red
9+
were `NOTHING IDENTIFIABLE` because "the commits in that window have never been
10+
bisected". They have been now, one `apps/console` build per point from the repo
11+
root, and the finding corrects the framing every filing card carried:
12+
13+
| build | landed by | `framework` gzip | moved by |
14+
| ----------- | --------- | ---------------- | ------------------------ |
15+
| `40a7c538a` | #8503 | 70,999 | last GREEN, 1 byte under |
16+
| `512c84b16` | #8519 | 70,999 | 0 |
17+
| `f76f43628` | #8512 | 71,261 | +262 |
18+
| `e76634cc8` | #8529 | 72,245 | +984 |
19+
| `e411c3e58` | #8562 | 72,248 | +3 |
20+
21+
Two commits own the overage, not one, and the larger is **outside** the window
22+
the cards bisected: `e76634cc8` carries 984 of the 1,246 bytes the pair added.
23+
`270f2825b`, the suspect objectui#8541 named, is measurably innocent — the
24+
emitted chunk is byte-identical across it and it touches no file under
25+
`packages/(core|react|types)`.
26+
27+
Both contributors are silent-wrong-answer fixes on one file's filter path, so
28+
what the bytes buy is now stated where the gate's failure message asks for it.

‎scripts/check-eager-closure-budget.mjs‎

Lines changed: 47 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -569,15 +569,49 @@ export const REGRESSION_THIS_GATE_MUST_CATCH_BYTES = 89 * 1024;
569569
* read as a derivation of it. What is recorded here is what the raise COSTS,
570570
* because that is the half a later reader cannot recover from the constant.
571571
*
572-
* ⛔ What the bytes buy: NOTHING IDENTIFIABLE, and that is the finding, not an
573-
* omission. The failure message this raise silences asks the author to "say in
574-
* the PR what the bytes buy". Nobody can: `Bundle Analysis` went red on `main`
575-
* at `f76f43628` with `40a7c538a` the last green, and the commits in that window
576-
* have never been bisected — this checker is a two-build predicate over them and
577-
* no one has run it. ⚠️ So this raise does not answer the attribution question,
578-
* it makes it HARDER TO ASK: the line that was holding the unexplained bytes in
579-
* view now passes over them. objectui#8542 owns that attribution and stays open;
580-
* objectui#8541 recorded the same red first and is closed as its duplicate.
572+
* ⛔ What the bytes buy — MEASURED, but AFTER this constant moved. When the raise
573+
* landed nobody could answer the question its own failure message asks — "say in
574+
* the PR what the bytes buy" — because the window had not been bisected, and this
575+
* section recorded that as the finding. objectui#8542 has since run it: one
576+
* `apps/console` build per point, each from the repo ROOT, `framework` read out
577+
* of the `apps/console/dist/eager-closure.json` the build itself writes.
578+
*
579+
* | build | landed by | `framework` gzip | moved by |
580+
* | `40a7c538a` | #8503 | 70,999 | last GREEN, 1 byte under |
581+
* | `512c84b16` | #8519 | 70,999 | 0 |
582+
* | `f76f43628` | #8512 | 71,261 | +262 |
583+
* | `e76634cc8` | #8529 | 72,245 | +984 |
584+
* | `e411c3e58` | #8562 | 72,248 | +3 |
585+
*
586+
* ⚠️ TWO commits own the overage and the LARGER one is OUTSIDE the window this
587+
* section bounded. `e76634cc8` landed after the red had already started and
588+
* carries 984 of the 1,246 bytes the pair added — 79% — against 262 for the
589+
* commit the red first appeared on. ⛔ A repair scoped to the window would have
590+
* left `main` red. `512c84b16` emitted a byte-identical chunk to `40a7c538a`
591+
* (the same `framework-nDOJv2Ij.js` content hash), so the three commits between
592+
* them moved this chunk by ZERO — and objectui#8541's named suspect
593+
* `270f2825b` is measurably innocent: it touches no file under
594+
* `packages/(core|react|types)` at all.
595+
*
596+
* ⇒ So the bytes are identifiable, and they are two silent-wrong-answer fixes on
597+
* ONE file's filter path, `packages/core`'s `ValueDataSource`. `f76f43628`
598+
* (#8512): an unrecognised `$` operator ended the switch on `default: break`,
599+
* adding no constraint, so it matched EVERY row. `e76634cc8` (#8529): an array
600+
* comparand and a `{ $field }` reference were compared by REFERENCE, selecting
601+
* every row under `$ne` and no rows under `$eq`, neither of them saying so. The
602+
* bytes ARE the refusals and the prescriptions that replaced that silence.
603+
*
604+
* ⛔ None of which retires the cost above: the line that was holding these bytes
605+
* in view now passes over them, and the attribution arrived after the constant
606+
* moved rather than before it. ⚠️ Nor is trimming the alternative it looks like
607+
* — deleting every refusal message string these two commits ship was measured at
608+
* 610 gzip bytes against the 1,245 the overage needed (recorded on
609+
* objectui#8542, ⛔ not re-measured here), so the whole diagnostic surface is
610+
* worth under half the payload it gets blamed for. ⭐ Why `main` was one byte from
611+
* this line in the first place is objectui#8554: it sat at 70,999 against 71,000
612+
* — headroom 0.00x — and printed a GREEN sensitivity row while it did, because
613+
* {@link evaluateHeadroomSensitivity} has no floor. objectui#8541 recorded the
614+
* same red first and is closed as this card's duplicate.
581615
*
582616
* ⚠️ This also makes `framework` the LOOSEST ceiling in this object, measured
583617
* rather than asserted. All four were read from the one `3f775eeb8` console
@@ -622,8 +656,10 @@ export const PER_CHUNK_GZIP_CEILINGS = Object.freeze({
622656
'vendor-objectstack': 1_254_000,
623657
'i18n-locales': 455_000,
624658
// Raised by the maintainer ruling of 2026-09-08, ⛔ not by a measurement here:
625-
// `main` had been red on this line since `f76f43628` and the bytes that put it
626-
// there are UNATTRIBUTED. Headroom 27,755 bytes = 0.30x
659+
// `main` had been red on this line since `f76f43628`. The bytes that put it
660+
// there were UNATTRIBUTED when this moved and have since been measured to
661+
// `f76f43628` (+262) and `e76634cc8` (+984) — see the table under "Why
662+
// `framework` moved UP" above. Headroom 27,755 bytes = 0.30x
627663
// REGRESSION_THIS_GATE_MUST_CATCH_BYTES on `3f775eeb8` — the loosest of the
628664
// four. See "Why `framework` moved UP" above for what that costs.
629665
framework: 100_000,

0 commit comments

Comments
 (0)