chore: bump the console pin to objectui 6d77acfe3125 (123 commits, not 405) - #8137
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Contributor
Author
|
Correction to the PR body, on the release-page block only. The body says "one character is altered below". There are two alterations, both made so the block survives GitHub's body sanitizer:
Neither alteration affects any entry's text beyond those two spots, but treat the block as a preview rather than a paste source. The authoritative output is:
Generated by Claude Code |
hotlong
marked this pull request as ready for review
August 12, 2026 17:48
This was referenced Aug 12, 2026
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Fixes #8051
Bumps the vendored console pin via the dedicated bump path and rebuilds
packages/console/dist, then re-checks both symptoms the card named. Nothing here is hand-edited:pnpm objectui:refresh(scripts/bump-objectui.sh+scripts/build-console.sh) wrote every tracked change except the ADR-0087 disposition the bump script explicitly requires a human to answer.Pin:
6314e87f2d49b1ff3b158c296f1b2a52d14dff68→6d77acfe3125949796918ea12b926d3460bc933d(objectuimain).The gap is 123 commits, not 405
The card measured "405 commits ahead" and the dispatch expected the re-measurement to come out larger. It comes out smaller, and three independent measurements agree on 123:
git rev-list --count OLD..HEADin a full objectui clone--first-parentcheck:objectui-pin-fresh's own log-walkThe card's own waypoint checks out consistently:
b4d3c2204(the tip it measured) is an ancestor of the new pin,OLD..b4d3c2204is 121 andb4d3c2204..HEADis 2. So 405 is not reproducible from any of these; the pin was 121 commits behind when the card was filed, not 405. Flagging it because the card's framing — "an order of magnitude larger" than #7411's 18 — rests on that number, and the real multiple is closer to 7x than 22x. The staleness itself is real either way.Range composition, from the digest: 99 releasing changesets (0 major / 22 minor / 77 patch) out of 115 added, across 123 non-merge commits; 16 release-nothing, 11 commits carrying no changeset.
Symptom 1 — objectui#4229's
combofix: FIXEDConfirmed at three levels rather than assumed:
3c6e84cca fix(plugin-dashboard): draw an authored combo as a combo on the dataset path (#4229) (#4298).git show 6d77acfe3125:packages/plugin-dashboard/src/DatasetWidget.tsx | grep comboreturnscombo: 'combo'at line 359 plus its rationale block; the same probe at the old pin returned nothing.assets/plugin-dashboard-sS6Qwuba.jscontains the resolved mapping…sankey:\sankey`,combo:`combo`}and the widget-kind set carryingcombo`.Symptom 2 — #7804's
GlobalFilterSchema.object: NOT FIXED, and no pin bump can fix itThis is the finding the card did not anticipate. After the bump and rebuild,
GlobalFilterSchemain the newly builtassets/vendor-objectstack-DneBps14.jsstill declares exactly:objectis absent from precisely the slot #7804 put it in (betweenfieldandlabel), and #7804's owndescribe()text —translation-bundle entry resolves this filter— matches 0 times in the bundle. (optionsFrom.objectdoes appear and is a different key; a bare grep forobjectfalse-positives here.)The cause is publish ordering, not pin staleness:
"@objectstack/spec": "^17.0.0-rc.6"at both the old and the new pin, and its lockfile resolves to exactly17.0.0-rc.6.build-console.shinstalls--frozen-lockfile, so it does not float.@objectstack/spec@17.0.0-rc.6was published to npm 2026-08-10T13:09:42Z; spec:GlobalFilterSchemaneeds an optionalobject— a dashboard global filter's field label (and its option labels) have no bundle key to resolve against #7804's key landed at7dc10673on 2026-08-12T11:36:21Z, two days later. Verified against the tarball actually installed into the build tree:.cache/objectui-6d77acfe3125/node_modules/@objectstack/specis17.0.0-rc.6with 0 matches for the key.17.0.0-rc.6is the highest version on npm, and this repo'spackages/spec/package.jsonis also17.0.0-rc.6— the workspace has moved past the published tarball under an unchanged version string, so even the^range cannot reach the new content.build-console.shinjects onlyOBJECTSTACK_CLIENT_DIST(packages/client); there is no equivalent injection forpackages/spec.So the key becomes UI-authorable only after a spec release publishes it, then objectui relocks onto that version, then the pin moves again — three ordered steps across two repos, none performable here. Filed as #8134 with the general shape (any authorable key added after the last spec publish is server-accepted and designer-rejected, while the framework-side card closes green). #8134 remains open and is not addressed by this PR.
Gates
Both required gates are green, and they are different claims:
pnpm check:console-sha— "Console dist matches the objectui pin (objectui@6d77acfe3125)."pnpm check:objectui-pin-fresh— "objectui pin is FRESH — .objectui-sha is objectuimain". Red before this change (EXIT=1, 123 pending).node scripts/pm/dispatch-gates.mjs .objectui-sha .changeset/console-6d77acfe3125.mdsurfaced three families beyond the dispatch list; all run and green:check:changeset-gate-self-tests(118 + 153 + 117 assertions),check:objectui-changeset(both self-tests),check-changeset-no-major("introduces nomajorbump"). Alsocheck:nul-bytes— OK over 7407 files.The one judgement call: the ADR-0087 disposition
The bump script emitted
adr-0087: TODO — the pin bump cannot answer this; a human mustandcheck-adr-0087-registrationrejects that placeholder by design. The range declares 10 breaking changes, so the question had to be answered rather than deleted.I judged the ten one by one against their upstream changesets. All are TypeScript declaration surfaces of objectui's own npm packages —
@object-ui/core,react,components,types,permissions,plugin-chatbot,data-objectstack— and none is reachable through@objectstack/console, whosefileslist is["dist", "README.md", "CHANGELOG.md"]and whose soleexportsentry is./package.json; it forwards no@object-ui/*module entry point. Nopackages/specschema, authorable key or protocol surface changes in the range, so there is no stored-metadata rewrite to prescribe. Where a prescription exists it runs the other way —ActionDef's unifiedvisible/disabledshape and the 14 renamed symbols are objectui catching up to spec17.0.0-rc.6, whose spec-side halves were disposed of in this repo's own PRs. Disposition:not-required (no-migration-prescription), matching the route the two most recent breaking console bumps took (console-8aad9fd50b16.md,console-09987b680d53.md).Scope notes
packages/console/distis gitignored (packages/console/.gitignoreisdist/), so it is not in this diff by design — the diff is.objectui-shaplus the changeset. The dist was still built and verified locally; that is what the two gates above read.check:objectui-pin-freshalready exists, was already red, and already prescribed this exact fix; its absence fromcut-rc.ymlis deliberate and documented in that workflow's header (it enforces at the GA cut). A threshold change would be a separate card.pnpm sdui:manifest(ADR-0082 D4 declaration-parity ratchet) is the documented next step after a pin move and is not run here — it needs Playwright chromium and is an on-demand gate by decision (sdui.manifest.json 的来源未定:声明一致性 ratchet 目前只在手工pnpm sdui:manifest时跑,CI 里从来不跑(#4690 的遗留决定) #5960), never CI. Flagging it so it is not silently assumed done.Console section for the release page
Produced now because it is cheap here and expensive to reconstruct later. Regenerate verbatim with:
node scripts/objectui-range.mjs --from 6314e87f2d49b1ff3b158c296f1b2a52d14dff68 --to 6d77acfe3125949796918ea12b926d3460bc933d(Positional args are framework refs; objectui SHAs need
--from/--to.)content/docs/releases/is untouched — release notes are written centrally at release time.One character is altered below to survive GitHub's body sanitizer: in the
lintentry,< buttoncarries an inserted space that the real output does not have. Regenerate with the command above rather than copying that line.Generated by Claude Code