This repository was archived by the owner on Oct 26, 2026. It is now read-only.
Repository navigation
refactor!: retire nine zero-consumer modules, make runner private, take test-only reset helpers off the barrels (objectui#13453, part 1) - #13506
Merged
Conversation
…laboration core: builder/schema-builder and the protocols/ trio (Dnd, Keyboard, Sharing). react: useFocusTrap, useFocusManagement, usePageTransition, useSchemaPersistence. collaboration: LiveCursors. Each had no importer outside its own barrel line and its own tests. Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
…release group runner is a Vite application with no importable entry. It is now `private: true`, leaves the fixed group for `ignore` (check-changeset-fixed wants every workspace package classified), and the two pending changesets that bumped it drop their runner line, because changesets refuses a changeset that names an ignored and a non-ignored package together. The tooling-exclude gate's runner carve-out goes with it (stale-carve-out). Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
core (resetColumnIdentityWarnings, resetRetiredSortSpellingReports, resetDashboardFilterWarnings, resetReferenceKeyWarnings), app-shell (resetRuntimeConfigForTesting), types (resetInflightGetsForTesting) and plugin-detail (__clearRecordEditableCache). Each module keeps its export; the barrel stops re-exporting it, and the cross-package tests that used it import the module's src path directly, the pattern __resetVisibilityPredicateWarnings and useRecordEditable already follow. resetActionKeyWarnings and clearSharedDiscoveryCache stay: their files are held by another open card. Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
…e barrel Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
…file Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
…er package Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
Contributor
✅ Console Performance Budget
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
Size Limits
|
Making @object-ui/runner private drops the published count under packages/ from 38 to 37; quick-reference-commands-4149 derives that number and wants every private package named in the row. Claude-Session: https://claude.ai/code/session_011yfYeuX2ptMSCcYZiq61tS Co-authored-by: Claude <noreply@anthropic.com>
Contributor
✅ Console Performance Budget
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
Size Limits
|
Contributor
Author
席位核对 — ACCEPT · PR #13506 @
|
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Elon · project thread
Part of objectstack-ai/objectstack#25921
Clause-②: no (nothing added a consumer or author can target)
Metadata-protocol: none
First of the two PRs the claim amendment (comment 6393918010) cuts on the governed line. This one is Tier S: no file under
.claude/**,skills/**,AGENTS.mdordocs/adr/**. objectstack-ai/objectstack#25921 remains open for PR 2 (the providers trio, the contributor-guide sentence and the twoskills/objectui/guidesfiles, Tier H) and for the 122 dead i18n keys.What this removes
1. Nine whole modules with no reader (2,211 lines plus their own tests):
@object-ui/core:builder/schema-builder.ts(form/button/input/card/grid/flexand the six*Builderclasses) and the wholeprotocols/directory (DndProtocol,KeyboardProtocol,SharingProtocol, and its now-emptyindex.ts). The barrel lines become short removal notes, the same dispositionNotificationProtocolandResponsiveProtocolgot.@object-ui/react:useFocusTrap,useFocusManagement(useFocusReturn,useRovingFocus),usePageTransition,useSchemaPersistence(+createLocalStorageAdapter), with the twouseSchemaPersistence.*.test.tsxfiles. The stalecheck-doc-example-types.mjsrow for the deleted hook goes too.@object-ui/collaboration:LiveCursors(+LiveCursorsProps); the package README drops its section.usePresencestill reports cursors.types/src/index.ts,crud-retirement-5373.test.ts,useAnimation.ts,useETagCache.tsand its test) now say "since-retired".2.
@object-ui/runneris private and out of the release group.private: true; it leaves thefixedgroup forignore, becausecheck-changeset-fixed.mjswants every workspace package classified. Two consequences handled here:13464-declare-side-effects.mdand25685-one-react-line.md, each listed"@object-ui/runner": patch. With runner ignored, changesets refuses them as mixed ("Found mixed changeset 13464-declare-side-effects … Mixed changesets that contain both ignored and not ignored packages are not allowed", read frompnpm exec changeset statuson this tree before the edit). The runner line is deleted from both; nothing else in them changes.check-changeset-overwritereports the modification (report-only); after it,pnpm exec changeset status --since=origin/mainexits 0.check-published-tsconfig-tooling-exclude.mjsreportedFAIL [stale-carve-out] @object-ui/runner, so its runner carve-out entry is deleted and the shipped-list pin in its test shrinks to four.check-changeset-presence.test.tspinnedpackages/runner/index.htmlas a guarded file; an unreleased package's entry is not guarded, so the pin moves it to the not-guarded list.content/docs/utilities/runner.mdxandpackages/runner/README.mdno longer say it is on npm; the root README table marks it private.3. Test-only reset helpers off the public barrels:
resetColumnIdentityWarnings,resetRetiredSortSpellingReports,resetDashboardFilterWarnings,resetReferenceKeyWarnings(core),resetRuntimeConfigForTesting(app-shell),resetInflightGetsForTesting(types),__clearRecordEditableCache(plugin-detail). The module keeps the export and the barrel stops re-exporting it; the 15 test files outside the owning package that imported one from a package root now import the module'ssrcpath relatively, the pattern__resetVisibilityPredicateWarningsanduseRecordEditablealready follow. Core's fourexport *lines for those modules become named lists, with a one-line note on each.⛔ Not here, per the claim:
resetActionKeyWarnings(its barrel path iscore/src/actions/index.ts) andclearSharedDiscoveryCache(data-objectstack) wait for #13442, which holds those files.Census before deleting (lit controls)
76c560e(branch base)git grep -wfor every exported name of the nine modules and the seven helpers; generic builder names (form,card, …) searched as named imports from@object-ui/coreSchemaRendererlitd1e329eLiveCursorsindocs/qa/platform-checklist/FOLLOW-UPS.md; no import@object-ui/lit in 150 files,SchemaRendererin 38700b567@object-ui/lit in 5 files,SchemaRendererin 3Changesets
One per package, all
minorwith the removal named (13453-core-retire-dead-modules.md,13453-react-retire-dead-hooks.md,13453-collaboration-retire-live-cursors.md,13453-test-helpers-off-barrels.md). Runner gets none: it is ignored now, and naming it would be a mixed changeset.Verification (local)
The type-check and vitest readings below were taken on the branch while it still carried PR 2's providers commits too, so the tree they read is this PR plus the providers retirement. The gates line was re-run on this PR's own head.
turbo run type-check --continue, under the verify lock): core, react, collaboration, providers, types, app-shell, plugin-detail, plugin-grid, plugin-view, plugin-calendar, console, runner and the byo example. First run caughthttp-inflight.test.tsimporting the helper from../index.js; fixed in44c01fe, after whichpackages/typestype-check exits 0.check-changeset-presence.test.ts(the runner pin above), fixed in45580a0and re-run green (53/53). Console project, the three touched files: 28/28. A wider sweep of 95scripts/__tests__files that mention runner, providers or the release config: green apart fromcheck-doc-links.test.tsandcheck-skills-paths.test.ts, which read paths PR 2 deletes; both scripts exit 0 on this PR's head.a5dc7bb:check-changeset-presence,check-changeset-no-major,check-changeset-fixed,check-changeset-claims,check-pending-changeset-literals,check-published-tsconfig-tooling-exclude,check-new-cross-file-line-citations,check-control-bytes,check-skills-paths,check-doc-linksall exit 0; earlier on this branch alsocheck:phantom-deps,check:unused-deps,check:lockfile-integrity,check:lockfile-dedupe,check:test-path-roots,check:unreferenced-sources,check:side-effects-array,check:sdui-registration-pins,check:self-import,check:vi-mock-specifiers,check:lint-rule-coverage,check:node-esm-load.--no-inline-configthere are 2 errors, both on untouched lines and both present at the base (useETagCache.tspreserve-caught-error,types/src/index.tsrestrictedFormFieldimport).app-shellpackage suite (its touched files ran),check:readme-exportsandcheck:doc-snippets(need every package'sdist); CI runs them.Follow-ups
skills/objectui/guides/project-setup.mdandskills/objectui/guides/architecture.mdstill describe@object-ui/runneras a standalone runtime; PR 2 fixes them (Tier H)."@object-ui/runner"alongside other packages becomes a mixed changeset once this merges, and nothing on a PR runschangeset status. None of the pending changesets onmainat5399bbcnames it.origin/mainmoved two commits (fix(app-shell,components): resolve a page's inline locale label and description to the viewer's language (objectui#13488) #13501, feat(console): second-pass i18n for Audit Log, Flow Runs, Agent Connect and share links #13503) after the branch base; neither touches a file in this diff.Generated by Claude Code