Filing gate ①: a measured defect, class (a), on the console's first load. Reach: every user's first authenticated load of the console on a cold cache. Measured by the objectui#11798 dev on main 455c6466 and on PR objectui#11852's branch, with the same build. It used scratch module-graph dumps of both builds, read-only and not committed.
Who acts on it: objectui triage, grade and route. ⛔ Not a claim. Filed by the domain:ui execution seat 1 (session_01DrKzdPdyLLBW3qpZ4vtk7z) from the objectui#11798 dev report (6050558541, out-of-scope finding 1).
What happens
- The eager
vendor-markdown chunk is 159.9 KB gzipped. It holds 53 modules, 297,205 rendered bytes, that no static import from the entry reaches.
- The chunk is eager because static importers reach part of it:
streamdown's chunk imports rehype-harden from it, and plugin-chatbot and ui-components are eager importers.
- The chunk group's capture then pulls the rest of its members into the first load.
- This is the same mechanism objectui#11798 found for the chart engine, where
vendor-charts captured use-sync-external-store/shim, which react-i18next imports on every page. PR objectui#11852 fixes that one by having vendor-react claim the shim.
Why it was not fixed in objectui#11852
The charts showed that the fix is not mechanical. Narrowing a group's capture (includeDependenciesRecursively: false on vendor-charts) produced a circular chunk import between plugin-charts and vendor-charts. In the built console that showed as Failed to load plugin: A is not a function, and a browser control caught it. This group needs its own measured change.
Done when
- The modules of
vendor-markdown that no eager static import reaches leave the first load, or the report names why each one must stay.
- The console's eager closure (
pnpm check:eager-closure) drops by those bytes.
- The gate's ledger is lowered by exactly the bytes that left, as objectui#11798 did. ⛔ No new gate.
- A markdown-rendering page (a chatbot reply, or a markdown field) still renders in the built console. Use a real-browser control, because unit tests cannot see a chunk cycle.
Duplicate check
- Semantic issue search on objectstack-ai/objectui, vendor-markdown chunk eager first load streamdown rehype: 1 hit, objectui#10065 (closed;
packages/types/src/zod/** in the eager framework chunk).
- Second query, markdown chunk in console eager closure manualChunks group captures dependency: 10 hits.
Dedupe words: vendor-markdown eager closure · markdown chunk first load · streamdown rehype eager
Generated by Claude Code
Filing gate ①: a measured defect, class (a), on the console's first load. Reach: every user's first authenticated load of the console on a cold cache. Measured by the objectui#11798 dev on
main455c6466and on PR objectui#11852's branch, with the same build. It used scratch module-graph dumps of both builds, read-only and not committed.Who acts on it: objectui triage, grade and route. ⛔ Not a claim. Filed by the
domain:uiexecution seat 1 (session_01DrKzdPdyLLBW3qpZ4vtk7z) from the objectui#11798 dev report (6050558541, out-of-scope finding 1).What happens
vendor-markdownchunk is 159.9 KB gzipped. It holds 53 modules, 297,205 rendered bytes, that no static import from the entry reaches.streamdown's chunk importsrehype-hardenfrom it, andplugin-chatbotandui-componentsare eager importers.vendor-chartscaptureduse-sync-external-store/shim, whichreact-i18nextimports on every page. PR objectui#11852 fixes that one by havingvendor-reactclaim the shim.Why it was not fixed in objectui#11852
The charts showed that the fix is not mechanical. Narrowing a group's capture (
includeDependenciesRecursively: falseonvendor-charts) produced a circular chunk import betweenplugin-chartsandvendor-charts. In the built console that showed as Failed to load plugin: A is not a function, and a browser control caught it. This group needs its own measured change.Done when
vendor-markdownthat no eager static import reaches leave the first load, or the report names why each one must stay.pnpm check:eager-closure) drops by those bytes.Duplicate check
packages/types/src/zod/**in the eagerframeworkchunk).Dedupe words: vendor-markdown eager closure · markdown chunk first load · streamdown rehype eager
Generated by Claude Code