Skip to content

revert(app-shell): roll back objectui#11931 and objectui#11932 so the console's eager closure is under its ceiling again (objectui#11937) - #11956

Merged
objectstack-fleet[bot] merged 3 commits into
mainfrom
claude/issue-11937-eager-closure-main-red
Oct 8, 2026
Merged

objectstack-fleet[bot] merged 3 commits into
mainfrom
claude/issue-11937-eager-closure-main-red

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Fixes #11937
Part of #11861
Rolls back objectui#11932 (objectui#11823, seat domain:ui#3) as well: measured necessary, see the report

Clause-②: no

main is red on Bundle Analysis: the console's eager closure is over its 3,386,364-byte gzip ceiling. This PR rolls back the two Studio changes whose strings pushed it over, so main returns to the tree of f1781be, which measured under the ceiling. The route is the seat's ruling A, under the maintainer's ruling 6056819248 step 1: main turns green by rollback or plugging, and the ceiling is not raised.

Implemented by the os-dev agent of session https://claude.ai/code/session_01MgfduSkFrfM3eorB3UGfAU (seat domain:ui#2, claim comment 6056334737).

What changed

  • git revert -m 1 19a7348 (objectui#11931: Studio's validation "New" menu presets) and git revert -m 1 f3a0488 (objectui#11932: Studio Interfaces' page create step), one commit each.
  • .changeset/11937-eager-budget-rollback.md, a patch for @object-ui/app-shell. The two rolled-back PRs' unreleased changesets are removed with them, so the next release does not announce what is not in it.
  • git diff f1781be HEAD --stat prints only .changeset/11937-eager-budget-rollback.md | 5 +++++.
  • Not touched: MAX_EAGER_CLOSURE_GZIP_BYTES and every other ceiling, apps/console/vite.config.ts, .github/**.

Measurement

These are local console builds (CI=1 pnpm exec vite build in apps/console, under the container's verify lock), read from apps/console/dist/eager-closure.json. The ceiling is 3,386,364 B.

tree eager gzip bytes vs ceiling eager i18n chunk
f1781be (objectui#11929) 3,385,951 −413 104,156
19a7348 (+ objectui#11931) 3,386,368 +4 104,569
f3a0488 (+ objectui#11932, main) 3,386,819 +455 105,029
f3a0488 − objectui#11931 only 3,386,430 +66 104,635
this PR (tree = f1781be + changeset) 3,385,951 −413 104,156
  • The 19a7348 and f3a0488 rows match CI's push runs to the 0.1 KB: 3307.0 KB, "0.0 KB over"; and 3307.4 KB, 0.4 KB over.
  • Almost all of the growth is in one eager chunk, i18n-*.js: +413 B from 11931 and +460 B from 11932. Every other eager chunk moved by 7 B or less, which is minifier and hash churn.
  • chunk-membership.json puts exactly one workspace module in that chunk: app-shell's designer string table, views/metadata-admin/i18n.ts.
  • 11931's code (the preset table and the panel) is only in the lazy studioBuilder chunk. Only its 12 table rows are eager.

Why rolling back 11931 alone is not enough, and why there is no leak to plug.

  • objectui#11932 added its own rows to the same table.
  • The table's chunk is an automatic chunk. No advancedChunks group matches its path, so it is not a chunk-group leak.
  • 8 eager chunks import it statically:
    • the register-builtins inspector path, eager by design (ruling A 6054102412, objectui#6795's order): apps/console/src/main.tsx → @object-ui/app-shell → views/metadata-admin/register-builtins.ts → inspectors/index.ts → inspectors/ObjectFieldInspector.tsx → metadata-admin/i18n.ts;
    • runtime surfaces: views/ViewConfigPanel.tsx and views/ReportConfigPanel.tsx → views/RuntimeDraftBar.tsx → metadata-admin/i18n.ts.
  • Moving Studio-only rows out of that table is the lazy-loading step objectui#6795 orders second. That is objectui#11942, not this PR.

Verification (head b1e82226c)

  • Tests, run under the lock with repo-root pnpm exec vitest run --maxWorkers=2 FILES. The set is 179 files: every test file that 11932's revert touches or that imports a module either revert changes (interfaceCreate, StudioDesignSurface, the metadata-admin i18n table), plus the remaining ObjectValidationsPanel* suites and packages/core/src/utils/__tests__/column-identity.ratchet.test.ts. batch 00: 'Test Files 44 passed (44)', 'Tests 489 passed (489)'; batch 01: 'Test Files 45 passed (45)', 'Tests 631 passed (631)'; batch 02: 'Test Files 45 passed (45)', 'Tests 221 passed (221)'; batch 03: 'Test Files 45 passed (45)', 'Tests 641 passed (641)'. Total 179 files and 1982 tests passed.
  • Type-check: pnpm --filter @object-ui/app-shell run type-check (tsc --noEmit && tsc -p tsconfig.test.json) exited 0. The dependency closure was built first (--filter '@object-ui/app-shell^...' run build, exit 0).
  • Gates, all exit 0: check:i18n-keys, check:i18n-designer-parity, check:i18n-drift, check:unreferenced-sources, check-changeset-presence ("this change declares 1 changeset(s)"), check-changeset-no-major, check:changeset-claims, check:pending-changeset-literals, check-changeset-fixed, check:control-bytes, check:new-line-citations.
  • check-changeset-overwrite is report-only. It lists the two removed changesets as its case 3, superseded in the same change.
  • pnpm exec eslint on the 8 touched source and test files: 0 errors and 19 react-hooks warnings. All 8 files are byte-identical to their f1781be blobs.
  • No console build on this head, as the PM directed: the tree is f1781be's. CI's Bundle Analysis on this PR re-measures.

os-dev report

{
  "issue": 11937,
  "status": "done",
  "branch": "claude/issue-11937-eager-closure-main-red",
  "pr": "this pull request (draft; the relay forces draft)",
  "session": "session_01MgfduSkFrfM3eorB3UGfAU",
  "premise_still_valid": true,
  "summary": "Route A, as the seat ruled under the maintainer's ruling 6056819248 step 1. objectui#11931 (19a7348) and objectui#11932 (f3a0488) are rolled back with git revert -m 1, one commit each, and an app-shell patch changeset is added. The tree equals f1781be's except for that changeset, and f1781be's tree measured 3,385,951 eager gzip bytes, 413 under the 3,386,364 ceiling. Reverting 11931 alone measured 66 B over, because 11932 added its own rows to the same eager designer table. No ceiling, chunk config or workflow is touched.",
  "route": "(2) widened to A: reverting 11931 alone is insufficient (+66 B on f3a0488), and there is no leak for route (1). The designer table views/metadata-admin/i18n.ts is the only module in the automatic eager i18n chunk, and 8 eager chunks import it statically: the register-builtins inspector path (eager by design, ruling A 6054102412) and runtime surfaces (RuntimeDraftBar, RecordDetailView).",
  "tests": "Head b1e82226c. Union of the test files that 11932's revert touches or that import a module either revert changes (git grep of interfaceCreate, StudioDesignSurface and the metadata-admin i18n table), plus the remaining ObjectValidationsPanel suites and packages/core/src/utils/__tests__/column-identity.ratchet.test.ts: 179 files, run in 4 batches under the lock with repo-root `pnpm exec vitest run --maxWorkers=2 FILES`: batch 00: 'Test Files 44 passed (44)', 'Tests 489 passed (489)'; batch 01: 'Test Files 45 passed (45)', 'Tests 631 passed (631)'; batch 02: 'Test Files 45 passed (45)', 'Tests 221 passed (221)'; batch 03: 'Test Files 45 passed (45)', 'Tests 641 passed (641)'. Total 179 files and 1982 tests passed. No ablation applies: the change is two reverts.",
  "gates": [
    "app-shell type-check, `pnpm --filter @object-ui/app-shell run type-check` (echoes `tsc --noEmit && tsc -p tsconfig.test.json`) under the lock, after `pnpm --filter '@object-ui/app-shell^...' run build` (lock VERDICT command-exit 0): VERDICT command-exit 0.",
    "check:i18n-keys exit 0: 'Every in-scope call-site key resolves against the en pack (3304 keys), …'",
    "check:i18n-designer-parity exit 0: 'Every en row has a zh row, and every shared row carries the same placeholders.'",
    "check:i18n-drift exit 0: 'Every changed designer-table en value was followed by its zh row.'",
    "check:unreferenced-sources exit 0: 'OK  Every shipped source file in every covered package is reachable.'",
    "check-changeset-presence exit 0: '11 source file(s) of 1 released package(s) changed, and this change declares 1 changeset(s): .changeset/11937-eager-budget-rollback.md.'",
    "check-changeset-no-major exit 0: 'No changeset declares a `major` bump.'",
    "check:changeset-claims exit 0: 'No pending changeset names a file this change touches.'",
    "check:pending-changeset-literals exit 0: 'No test source names a pending changeset.'",
    "check-changeset-fixed exit 0: 'privatePackages declared: version=true, tag=false.'",
    "check-changeset-overwrite exit 0, report-only: it lists the deletion of the two rolled-back PRs' unreleased changesets (11823-page-create.md, 11861-validation-presets.md). That is its case 3, superseded in the same change, and intended: the next release must not announce features that are not in it.",
    "check:control-bytes exit 0; check:new-line-citations exit 0 ('0 new citation(s)').",
    "eslint (`pnpm exec eslint --format json`) on the 8 touched .ts/.tsx files: exit 0, 0 errors, 19 warnings (react-hooks rules). Every file is byte-identical to its f1781be blob, so this PR adds none of them.",
    "Eager closure: no console build on this head, as the PM directed. The tree equals f1781be's (git diff f1781be HEAD --stat shows only the changeset), and f1781be's build measured 3,385,951 B (local `check:eager-closure` inputs, emit-eager-closure-report line '3385951 bytes gzipped (3306.6 KB)'). CI's Bundle Analysis on this PR re-measures.",
    "head: b1e82226c (git rev-parse --short HEAD after the last commit)."
  ],
  "files_changed": [
    ".changeset/11937-eager-budget-rollback.md (added)",
    ".changeset/11861-validation-presets.md, .changeset/11823-page-create.md (deleted, the rolled-back PRs' unreleased changesets)",
    "content/docs/guide/console.md",
    "packages/app-shell/src/views/metadata-admin/i18n.ts",
    "packages/app-shell/src/views/studio-design/ObjectValidationsPanel.tsx, validationPresets.ts (deleted), ObjectValidationsPanel.presets-11861.test.tsx (deleted), ObjectValidationsPanel.test.tsx, ObjectValidationsPanel.newRuleWaits-11820.test.tsx, ObjectValidationsPanel.whenKey.test.tsx",
    "packages/app-shell/src/views/studio-design/StudioDesignSurface.tsx, interfaceCreate.tsx, interfaceCreate.test.tsx, StudioDesignSurface.interfacesCreatePage-11823.test.tsx (deleted)"
  ],
  "deviations": [
    "The PR is a draft. The PM's correction says so, and the relay forces draft anyway.",
    "objectui#11932's files are outside the claim's file surface. The PM's message assigns recording that amendment to the seat.",
    "The two reverts are separate commits made with `git revert -m 1 --no-commit` and then `git commit -F -`, so that each carries the model-free trailer pair. Each tree is the plain revert's.",
    "There is no os-dev-report comment this round, because of the PM's write-budget instruction. The report is in this body and in the hand-back.",
    "Round 1, for the record: the blocked report comment 6056966795 on the card holds the full four-build measurement."
  ],
  "mcp_calls": "0",
  "api_writes": "this round: 1 pr_create (relay) + 1 label-write for the PR assignee, after the PR exists, recorded in the hand-back. Round 1: 1 comment (6056966795). Git pushes are not REST writes.",
  "open_questions": [],
  "out_of_scope_findings": [
    "carrier: objectui#11942 (the seat's objectui#6795-order follow-up) · the eager designer-table chunk i18n-*.js weighs 105,029 B gz on f3a0488, about 3.1% of the eager closure, and every Studio-only row added to views/metadata-admin/i18n.ts lands in it eagerly · noted, not filed"
  ]
}

Generated by Claude Code

claude added 3 commits October 8, 2026 09:27
… rules, with the rule types under Advanced (part of objectui#11861) (#11931)"

This reverts commit 19a7348.

objectui#11937: Bundle Analysis is red on main. The 12 designer-table rows
objectui#11931 added live in app-shell's metadata-admin/i18n.ts, which the
console loads eagerly by design (its static importers include the
register-builtins inspector path and runtime surfaces such as
RuntimeDraftBar), so they count toward the eager-closure ceiling.

Claude-Session: https://claude.ai/code/session_01MgfduSkFrfM3eorB3UGfAU
Co-authored-by: Claude <noreply@anthropic.com>
…opens it on source plus live preview (objectui#11823 step 3) (#11932)"

This reverts commit f3a0488.

objectui#11937: with objectui#11931 reverted, main's console eager closure
still measured 66 gzip bytes over its ceiling, because objectui#11932 added
its own rows to the same eagerly loaded designer table. The seat ruled
route A: roll back both, so main returns to f1781be's tree.

Claude-Session: https://claude.ai/code/session_01MgfduSkFrfM3eorB3UGfAU
Co-authored-by: Claude <noreply@anthropic.com>
…objectui#11931 and objectui#11932

Claude-Session: https://claude.ai/code/session_01MgfduSkFrfM3eorB3UGfAU
Co-authored-by: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation tests package: app-shell labels Oct 8, 2026
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

✅ Console Performance Budget

Metric Value Budget
Eager closure (gzip, 336 chunks) 3306.6 KB 3307.0 KB
Main entry chunk (gzip) 71.3 KB 350 KB
Entry file index-B0Vd5CaX.js —
Status PASS —

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

Package Size Gzipped
app-shell (consoleActionDispatch.js) 0.20KB 0.19KB
app-shell (index.js) 17.82KB 6.58KB
app-shell (runtime-config.js) 22.59KB 7.89KB
app-shell (types.js) 0.01KB 0.04KB
app-shell (urlParams.js) 10.11KB 3.87KB
auth (ActiveOrganizationStorage.js) 27.95KB 10.04KB
auth (AuthContext.js) 0.31KB 0.24KB
auth (AuthGuard.js) 2.07KB 1.00KB
auth (AuthProvider.js) 40.22KB 10.61KB
auth (AuthShell.js) 3.49KB 1.40KB
auth (ForgotPasswordForm.js) 12.21KB 3.45KB
auth (LoginForm.js) 18.15KB 5.40KB
auth (PreviewBanner.js) 0.90KB 0.50KB
auth (RegisterForm.js) 6.72KB 2.24KB
auth (SocialSignInButtons.js) 9.70KB 3.93KB
auth (UserMenu.js) 3.39KB 1.21KB
auth (auth-gate-events.js) 1.29KB 0.66KB
auth (authStyles.js) 5.04KB 1.72KB
auth (createAuthClient.js) 40.70KB 10.94KB
auth (createAuthenticatedFetch.js) 8.54KB 3.46KB
auth (index.js) 3.63KB 1.64KB
auth (invitation-status.js) 1.22KB 0.70KB
auth (org-roles.js) 6.66KB 2.78KB
auth (phone-identifier.js) 1.11KB 0.66KB
auth (types.js) 0.59KB 0.35KB
auth (useAuth.js) 5.30KB 1.02KB
auth (useWorkspaceAdminStatus.js) 11.08KB 4.58KB
collaboration (CommentThread.js) 27.11KB 7.97KB
collaboration (LiveCursors.js) 3.17KB 1.27KB
collaboration (PresenceAvatars.js) 6.28KB 2.60KB
collaboration (PresenceProvider.js) 2.79KB 1.13KB
collaboration (index.js) 1.68KB 0.73KB
collaboration (useCollaborationTranslation.js) 6.50KB 2.52KB
collaboration (useCommentSearch.js) 1.98KB 0.88KB
collaboration (useConflictResolution.js) 7.75KB 1.86KB
collaboration (useMentionNotifications.js) 1.81KB 0.68KB
collaboration (usePresence.js) 6.33KB 1.84KB
collaboration (useRealtimeSubscription.js) 7.91KB 2.01KB
components (index.js) 586.28KB 141.14KB
core (index.js) 10.00KB 3.96KB
create-plugin (index.js) 27.94KB 9.51KB
data-objectstack (index.js) 240.39KB 67.09KB
fields (index.js) 266.92KB 67.47KB
i18n (LocalizationContext.js) 2.92KB 1.42KB
i18n (builtinAggregateLabels.js) 0.86KB 0.49KB
i18n (currency.js) 2.59KB 1.22KB
i18n (fallbackInterpolation.js) 6.25KB 2.77KB
i18n (i18n.js) 8.87KB 3.64KB
i18n (index.js) 5.52KB 2.39KB
i18n (pickLocalized.js) 9.86KB 3.95KB
i18n (provider.js) 39.35KB 12.88KB
i18n (translateFn.js) 0.20KB 0.18KB
i18n (useDisplayLocale.js) 3.52KB 1.76KB
i18n (useObjectLabel.js) 38.37KB 10.31KB
i18n (useSafeTranslation.js) 7.14KB 2.92KB
layout (index.js) 41.50KB 11.82KB
mobile (MobileProvider.js) 0.92KB 0.49KB
mobile (ResponsiveContainer.js) 0.94KB 0.38KB
mobile (breakpoints.js) 1.51KB 0.70KB
mobile (createOfflineDataSource.js) 5.61KB 1.75KB
mobile (index.js) 1.99KB 0.87KB
mobile (offlineQueue.js) 3.91KB 1.35KB
mobile (pwa.js) 0.97KB 0.49KB
mobile (serviceWorker.js) 1.48KB 0.62KB
mobile (serviceWorkerSource.js) 3.41KB 1.48KB
mobile (useBreakpoint.js) 1.54KB 0.65KB
mobile (useGesture.js) 6.96KB 1.98KB
mobile (useOfflineSync.js) 1.99KB 0.72KB
mobile (usePullToRefresh.js) 6.62KB 2.45KB
mobile (useResponsive.js) 0.72KB 0.42KB
mobile (useSpecGesture.js) 5.52KB 2.10KB
mobile (useTouchTarget.js) 1.01KB 0.54KB
permissions (MePermissionsProvider.js) 13.86KB 5.00KB
permissions (PermissionContext.js) 0.31KB 0.25KB
permissions (PermissionGuard.js) 0.89KB 0.45KB
permissions (PermissionProvider.js) 6.52KB 2.26KB
permissions (discardProofCache.js) 1.04KB 0.55KB
permissions (evaluator.js) 8.33KB 3.07KB
permissions (index.js) 0.93KB 0.41KB
permissions (store.js) 0.91KB 0.42KB
permissions (useFieldPermissions.js) 1.28KB 0.53KB
permissions (usePermissions.js) 4.83KB 2.27KB
plugin-ai (index.js) 16.04KB 3.92KB
plugin-calendar (index.js) 53.39KB 15.52KB
plugin-charts (index.js) 84.71KB 23.25KB
plugin-chatbot (index.js) 199.63KB 47.46KB
plugin-dashboard (index.js) 144.82KB 39.17KB
plugin-designer (index.js) 231.46KB 48.87KB
plugin-detail (index.js) 248.57KB 65.47KB
plugin-editor (index.js) 2.23KB 1.05KB
plugin-form (index.js) 176.62KB 45.75KB
plugin-gantt (index.js) 179.17KB 45.07KB
plugin-grid (index.js) 248.06KB 68.77KB
plugin-kanban (index.js) 52.17KB 16.37KB
plugin-list (index.js) 117.45KB 29.33KB
plugin-map (index.js) 27.24KB 9.03KB
plugin-markdown (index.js) 13.88KB 4.80KB
plugin-report (index.js) 44.12KB 12.29KB
plugin-timeline (index.js) 39.10KB 11.81KB
plugin-tree (index.js) 15.07KB 5.33KB
plugin-view (index.js) 91.07KB 22.93KB
providers (DataSourceProvider.js) 0.75KB 0.39KB
providers (MetadataProvider.js) 1.37KB 0.59KB
providers (ThemeProvider.js) 1.90KB 0.85KB
providers (UploadProvider.js) 11.81KB 3.58KB
providers (index.js) 0.45KB 0.23KB
providers (types.js) 0.01KB 0.04KB
react-runtime (index.js) 5.62KB 2.34KB
react (LazyPluginLoader.js) 4.47KB 1.63KB
react (SchemaRenderer.js) 120.63KB 39.56KB
react (data-invalidation.js) 5.05KB 2.08KB
react (index.js) 4.50KB 2.06KB
react (schema-input.js) 4.31KB 2.07KB
react (spec-input.js) 0.20KB 0.18KB
sdui-parser (body-dialect.js) 4.50KB 1.99KB
sdui-parser (codegen.js) 9.45KB 3.76KB
sdui-parser (dashboard-widget-options.js) 3.08KB 1.30KB
sdui-parser (index.js) 7.30KB 3.12KB
sdui-parser (input-type.js) 2.84KB 1.40KB
sdui-parser (parse.js) 25.28KB 7.80KB
sdui-parser (provenance.js) 3.84KB 1.90KB
sdui-parser (types.js) 0.28KB 0.23KB
sdui-parser (validate.js) 23.87KB 7.83KB
types (ai.js) 4.39KB 2.17KB
types (api-types.js) 0.20KB 0.18KB
types (app.js) 4.12KB 1.61KB
types (authoring-nodes.js) 0.20KB 0.19KB
types (base.js) 0.20KB 0.18KB
types (blocks.js) 0.20KB 0.18KB
types (cloud.js) 0.20KB 0.18KB
types (complex.js) 4.44KB 2.07KB
types (crud.js) 0.20KB 0.18KB
types (dashboard-filter-alias.js) 6.23KB 2.74KB
types (dashboard-widget-layout.js) 2.06KB 0.96KB
types (data-display.js) 3.75KB 1.85KB
types (data-protocol.js) 0.20KB 0.19KB
types (data.js) 0.20KB 0.18KB
types (designer.js) 1.85KB 0.85KB
types (disclosure.js) 0.20KB 0.18KB
types (error-code.js) 1.54KB 0.88KB
types (expression.js) 0.20KB 0.18KB
types (feedback.js) 0.20KB 0.18KB
types (field-types.js) 1.13KB 0.65KB
types (form.js) 0.20KB 0.18KB
types (http-inflight.js) 8.87KB 3.73KB
types (http-retry.js) 4.32KB 2.02KB
types (icon-key-migration.js) 4.26KB 1.63KB
types (index.js) 5.78KB 2.70KB
types (layout.js) 0.20KB 0.18KB
types (managed-by.js) 0.19KB 0.18KB
types (mobile.js) 5.00KB 2.39KB
types (navigation.js) 0.20KB 0.18KB
types (node-slots.js) 7.18KB 2.34KB
types (objectql.js) 0.20KB 0.18KB
types (overlay.js) 0.20KB 0.18KB
types (permissions.js) 2.52KB 1.31KB
types (plugin-scope.js) 0.20KB 0.18KB
types (record-components.js) 0.20KB 0.19KB
types (record-semantics.js) 1.28KB 0.67KB
types (registry.js) 0.20KB 0.18KB
types (reports.js) 0.20KB 0.18KB
types (select-option.js) 0.20KB 0.19KB
types (spec-report.js) 4.99KB 1.96KB
types (spec-ui-namespace.js) 0.20KB 0.19KB
types (strict-authoring-face.js) 19.93KB 7.25KB
types (system-fields.js) 3.33KB 1.54KB
types (theme.js) 6.28KB 2.87KB
types (ui-action.js) 8.11KB 3.32KB
types (views.js) 0.20KB 0.18KB
types (widget.js) 0.20KB 0.18KB

Size Limits

  • ✅ Core packages should be < 50KB gzipped
  • ✅ Component packages should be < 100KB gzipped
  • ⚠️ Plugin packages should be < 150KB gzipped

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review October 8, 2026 09:59
@objectstack-fleet
objectstack-fleet Bot enabled auto-merge October 8, 2026 09:59
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Oct 8, 2026
Merged via the queue into main with commit 3c888c6 Oct 8, 2026
45 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/issue-11937-eager-closure-main-red branch October 8, 2026 10:32
os-support-ai pushed a commit that referenced this pull request Oct 8, 2026
Takes the eager-closure rollback (objectui#11937, #11956) so Bundle Analysis
re-runs against the rolled-back base. No conflicts; no file of this branch
is touched by the merged range.

Claude-Session: https://claude.ai/code/session_01CGZy1BGCjdN5cXqL9cnvB8
Co-authored-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation package: app-shell tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

main red: Bundle Analysis — the console eager closure is over its ceiling on main 19a7348 (objectui#11931 and #11929 together used the last headroom)

2 participants