Filing gate: ③ a maintainer-directed task. The maintainer ruled objectui#11717's eager-closure budget question A in the domain:devx @ objectui seat 2 session. The selection, verbatim: 「A 抬预算+回收卡 (Recommended)」. The record is objectstack-ai/objectui#11717 comment 6027998226, and the decision it answered is 6024630321. Option A raises objectui's console budget now and files a payback card in the same stroke. This is that card. ⛔ Not a claim.
Readers. objectstack triage routes it first. The fix lands in packages/spec. Then the seat that claims it. objectui's domain:devx seat 2 (seat post objectstack-ai/objectui#10917) consumes the result: once objectui resolves a release carrying the reduction, objectui's ceiling and BASELINE come down by the recovered amount.
What was measured
The source is the os-dev report 6024525892 on objectstack-ai/objectui#11717, built from the bump head of PR objectstack-ai/objectui#11742.
- objectui console build. The
vendor-objectstack chunk of the eager closure grew by +182,909 gzip bytes. The control was objectui main 02a38967 (spec 17.6.0); the head was 25251a80 (spec 17.7.0); the instrument was apps/console/dist/eager-closure.json. Every other chunk netted about 0 (aggregate +182,938).
- Per-entry, in
@objectstack/spec itself. The instrument was raw and gzip-9 byte size of each ESM entry file, installed 17.7.0 against the npm 17.6.0 tarball. Gzip deltas for the entries objectui's shipped code imports:
| entry |
gzip delta |
note |
shared |
+152,445 |
raw +522,843; the same 79 exports; the bundle inlines 71 more strictObject( and 58 more lazySchema( call sites |
root (browser) |
+66,383 |
|
browser/system |
+61,940 |
|
ui |
+42,688 |
|
browser/kernel |
+23,229 |
|
api |
+17,065 |
|
browser/data |
+11,196 |
|
migrations grew +203,315, but no shipped objectui import names it. Of the other packages, lint +9,125 and types +6,089 are the largest.
- Prose proxy. 211 string literals of 80 characters or more are new in 17.7.0 and found in the vendor chunk: about 19.8 KB gzip, roughly 11% of the growth.
NOT MEASURED. Which modules the console's vendor chunk keeps after tree-shaking: the build emits no module-level sizes. So how much of the growth is recoverable, and from which source, is open. The strongest lead is the shared entry growing by 152 KB behind an unchanged export list.
The ask
- Find what grew in
shared, and in the root entry, between the 17.6.0 and 17.7.0 tags.
- Find whether it can ship smaller, for example by emitting the strict object schemas once rather than inlined at every call site, or whether it can leave the entries a browser first screen imports.
- Measure the recovered bytes on objectui's console build, using the same instrument as above.
Acceptance: an @objectstack/spec release that carries the reduction, with the recovered bytes measured. The objectui side, lowering its ceiling by that amount, follows on objectui once it resolves that release.
Precedent: #20646, the payback for the 17.5.0 raise (closed completed 2026-09-30). It moved the migration and conversion registries off the root entry.
Dedupe
- Corpus: objectstack's 102 open issues, plus the 251 issues among the 500 most recently updated closed items, listed over REST and grepped locally.
- Hits:
- Control:
packages/spec gives 81 hits in the same corpus.
Generated by Claude Code
Filing gate: ③ a maintainer-directed task. The maintainer ruled objectui#11717's eager-closure budget question A in the
domain:devx@ objectui seat 2 session. The selection, verbatim: 「A 抬预算+回收卡 (Recommended)」. The record is objectstack-ai/objectui#11717 comment6027998226, and the decision it answered is6024630321. Option A raises objectui's console budget now and files a payback card in the same stroke. This is that card. ⛔ Not a claim.Readers. objectstack triage routes it first. The fix lands in
packages/spec. Then the seat that claims it. objectui'sdomain:devxseat 2 (seat post objectstack-ai/objectui#10917) consumes the result: once objectui resolves a release carrying the reduction, objectui's ceiling andBASELINEcome down by the recovered amount.What was measured
The source is the os-dev report
6024525892on objectstack-ai/objectui#11717, built from the bump head of PR objectstack-ai/objectui#11742.vendor-objectstackchunk of the eager closure grew by +182,909 gzip bytes. The control was objectuimain02a38967(spec 17.6.0); the head was25251a80(spec 17.7.0); the instrument wasapps/console/dist/eager-closure.json. Every other chunk netted about 0 (aggregate +182,938).@objectstack/specitself. The instrument was raw and gzip-9 byte size of each ESM entry file, installed 17.7.0 against the npm 17.6.0 tarball. Gzip deltas for the entries objectui's shipped code imports:sharedstrictObject(and 58 morelazySchema(call sitesbrowser)browser/systemuibrowser/kernelapibrowser/datamigrationsgrew +203,315, but no shipped objectui import names it. Of the other packages,lint+9,125 andtypes+6,089 are the largest.NOT MEASURED. Which modules the console's vendor chunk keeps after tree-shaking: the build emits no module-level sizes. So how much of the growth is recoverable, and from which source, is open. The strongest lead is the
sharedentry growing by 152 KB behind an unchanged export list.The ask
shared, and in the root entry, between the 17.6.0 and 17.7.0 tags.Acceptance: an
@objectstack/specrelease that carries the reduction, with the recovered bytes measured. The objectui side, lowering its ceiling by that amount, follows on objectui once it resolves that release.Precedent: #20646, the payback for the 17.5.0 raise (closed
completed2026-09-30). It moved the migration and conversion registries off the root entry.Dedupe
eager closure: 1 ([PM seat] domain:devx @ objectui (objectstack-side, stale duplicate of objectui#5748) — ⏳ vacant · consolidated seat session_018rzQyhLGC5iVs11V3TzRs5 closed 2026-09-09T06:3xZ · the authoritative post is objectui#5748 #10602, a stale seat post, not this);vendor-objectstack: 0;payback: 0;shared entry: 0;bundle size|bundle weight|bytes gzip: 0;strictObject(: 0.packages/specgives 81 hits in the same corpus.Generated by Claude Code