Repository navigation
aftercare(ui-merge): the first joint 18.x release from the merged repo — both scopes at one version, @object-ui published, docs site deployed — then close #25556 as superseded and the epic (parent #25677, 6/6) #25753
Description
Filing gate ③ + ④: sub-issue 6/6 of the epic #25677 (pm:epic; epic PM session_01RSDL3SFtJaKzcymvCD8RsU). Part of #25677. ⛔ Not a claim; the epic PM runs it, the release itself is the maintainer's (Version PRs are human-merged).
Blocked-by: #25752 (sub-issue 5, the cutover) — nothing here is testable before ui/ is on main and 4a / PR B / 4b PR 2 are merged.
谁付代价(业务筛): the merge is only real when a release proves it: one Version PR, both scopes, one release.yml run publishing 39 @object-ui/* packages beside @objectstack/*. Until then downstream (cloud, #25556) still has two sources of truth to reconcile.
维护者速读
切换后第一次发版就是验收:一个 Version PR 里 @objectstack 和 @object-ui 同号(两边今天都是 18.1.0,所以首个联合版本是 18.1.x 或 18.2.0),release.yml 一次跑出两个 scope,objectui 文档站从新仓部署。你合 Version PR;席位盯发布 run、对每个 @object-ui 包 npm view 核对版本、看文档站。之后清理残留(验证分支与 DO NOT MERGE PR、scripts/ui-import/ 的一次性脚本、迁移说明里的链接)、把 #25556 关为 superseded、关父单。
Scope
- First joint release (maintainer merges the Version PR): the changesets Version PR after cutover bumps both scopes to one version; the seat checks the PR's manifest diff (39
@object-ui/*+ today's@objectstack/*, same string), the maintainer merges,release.ymlpublishes. Seat verifies withnpm view @object-ui/<pkg> versionon a sample of 5 packages plus@objectstack/console(built in-workspace by 4a), and that the GitHub Release names both scopes. - Docs site: objectui's docs site deploys from
ui/apps/sitethrough the Vercel project set up in cutover(ui-merge): the switch itself — freeze both repos,git subtree addobjectui asui/with its adaptation commit, land 4a / PR B / 4b PR 2 in order, migrate open objectui branches and cards, archive the objectui repo (parent #25677, 5/6) #25752 step 6 (4b'sdocs-deploy.yml); the seat checks one page that changed in the last objectui round renders from the new deploy. - Cleanup: close the DO NOT MERGE verify PR DO NOT MERGE — verification run for #25697: PR A + the ui/ subtree import of objectui main cd70b7818d #25718 if still open and delete the
-25697-verifybranch; delete or retirescripts/ui-import/*(splice-lockfile, 4a-ui-side.patch) with a note where the lock recipe lives (bill item 8); drop theobjectstack#/objectui#cross-repo spelling from the pm scripts if 4b PR 2 left any; liveness ledger has noevidenceScope: cross-reporow (4b's), spot-check 3 rows. - Close out: process: a published-type change objectui consumes lands in lockstep with objectui's adaptation — #24947 left framework main and objectui main uncompilable together, so cloud's pin round had to stop 7 commits short #25556 closed as superseded by this epic with a one-line pointer; the parent's checklist all ticked and the parent closed by the maintainer or the seat on the maintainer's word; memory/skills notes for the fleet updated (pm-dispatch references that still say "two repos").
Done when
- One release run published both scopes at the same version;
npm viewagrees for the sampled packages; the docs site serves from the merged repo. - DO NOT MERGE — verification run for #25697: PR A + the ui/ subtree import of objectui main cd70b7818d #25718 closed, verify branch deleted, one-time import scripts retired, process: a published-type change objectui consumes lands in lockstep with objectui's adaptation — #24947 left framework main and objectui main uncompilable together, so cloud's pin round had to stop 7 commits short #25556 closed as superseded, objectui 并入 objectstack 为
ui/workspace:D1 裁定(A+)的执行父单 — 一个 PR 同时改 spec 与渲染器,删除两仓互钉,@object-ui 保留包名并与 @objectstack 同一版本组,objectui 仓归档为迁移说明 #25677 closed.
Size: M. Clause-②: no. Metadata-protocol: none.
风险
- The Version PR may bump 39 packages' CHANGELOGs with objectui's travelled
.changeset/*.md: expected, review the changelog headers once. - A publish failure on
@object-uiscope rights (decision A on cutover(ui-merge): the switch itself — freeze both repos,git subtree addobjectui asui/with its adaptation commit, land 4a / PR B / 4b PR 2 in order, migrate open objectui branches and cards, archive the objectui repo (parent #25677, 5/6) #25752) leaves @objectstack published and @object-ui not: re-run the publish step only after the token is fixed; versions already on npm are not republished.
Dedupe
search_issues 2026-10-25 05:33Z 「first release after objectui merge both scopes same version @object-ui publish from objectstack docs site deploy post-merge」: 2 hits (#25727 this epic's 2c; #14324 closed, the 17.2.0 spec publish decision). #25556 (open) is the card this one closes; no other card covers the post-merge release. New.
Activity
objectstack-fleet commentedon Oct 26, 2026
Hand-off from child 5 (#25752, the cutover procedure) to this card, 2026-10-26T07:50Z.
The switch is complete:
ui/is onmain(#25825), 4a #25745, PR B #25827 and 4b PR 2 #25834 are merged, the required set reads 8 live / 0 / 0 with no retired gate (Type Check UI, Lint UI and Build & E2E UI added; Test UI advisory per ruling 30 = B), and objectui is archived with the migration notice as its README head (#25854).Expected version of the first joint release: 18.2.0. Both scopes are at 18.1.0 on
main(packages/spec,ui/packages/core). The root.changeset/carries 55 minor and 84 patch bumps, so the fixed group moves one minor.What this card still needs before the Version PR is cut, all already filed:
@object-ui/*packages asminor. Until it lands, a Version PR would not bump@object-ui/*, because changesets does not readui/.changeset/.skills/catalog (decision C).@object-uiand the docs-site deploy (cutover(ui-merge): the switch itself — freeze both repos,git subtree addobjectui asui/with its adaptation commit, land 4a / PR B / 4b PR 2 in order, migrate open objectui branches and cards, archive the objectui repo (parent #25677, 5/6) #25752 step 6, maintainer settings).The Version PR is merged only by a human. After it publishes, this card closes #25556 as superseded and then the epic #25677.
objectstack-fleet commentedon Oct 26, 2026
Release timing (maintainer ruling), recorded 2026-10-26T12:51Z: 「我计划进行中的任务都开发完,再发 18.2」 (Tesla, project chat, 2026-10-26T12:51Z). 18.2.0 is cut only after the in-progress work is finished.
So this card holds. Nobody opens, pushes or asks for a merge of the joint Version PR when #26097 (#25832) lands. If the changesets bot refreshes a Version PR on its own, it stays unmerged until the maintainer says release.
State of the two prerequisites:
@object-ui/*packages ride the next Version PR).D1 work still in flight before the release, all on #25712 (4b), one PR at a time: 2e liveness ledger (in work), 2f spec tests, 2g one sdui-parser, 2h AGENTS.md + ui/AGENTS.md (Tier H), 2i. The expected version stays 18.2.0 unless one of these carries a
major, which the no-major guard refuses anyway.objectstack-fleet commentedon Oct 27, 2026
D1 blockers for 18.2 are cleared: 2026-10-27T02:32Z
维护者速读
D1 这边挡 18.2 的工作已经全部合入:#26343(2g PR 2)合入 80f267d,#26367(2i PR B)合入 e931621,#25712 和 #26137 都已关闭。按你 12:51Z 的裁定,什么时候合并 Version PR #25640 由你决定(只能由人来合)。合并并发布后,请执行
npm deprecate @object-ui/sdui-parser "moved to @objectstack/sdui-parser"。Detail
The hold on this card (6416455214) waited for 2g and 2i, per ruling B on #25712. Both are done:
With #26343,
@object-ui/sdui-parserleft the fixed group. The 18.2 Version PR therefore no longer bumps it, and npm keeps it at 18.1 until the deprecate above.From D1's side, nothing else blocks the Version PR. The maintainer's rule that 18.2 follows the end of all in-progress work still applies across the other lanes.
The closing record on #25712 (6432294556) moves its residual cleanup (F12, F14, F18–F20, F23, F27, the 2h list) to this card's "cleanup leftovers". None of it blocks the release.
objectstack-fleet commentedon Oct 27, 2026
Claim: #25753 cleanup leftovers and the epic #25677 close, taken over 2026-10-27T08:52Z (the epic PM thread is retired; maintainer instruction 「清理」 in the project thread)
Session:
session_01L9qibvE77Ed7MKdzPxJTQQAccount:
os-teslaBranch:
claude/project-thread-fiwblf(the thread's designated branch, pushed one PR at a time)Domain:
domain:devxSeat:
epic:#25677Scope: the residual list moved here by #25712's closing record 6432294556 — F12 (
ui/.github/labeler.yml, a maintainer decision), F14 (ui/content/docs/guide/ci-cd-pipeline.md), F18–F20, F23, F27, and the 2h list of files that still treat objectui as a separate repository. The release itself andnpm deprecate @object-ui/sdui-parserare the maintainer's and are not in scope.Plan: PR 1 = F18, F19, F20, F23, F27 and the 2h list (Tier S,
.claude/**); then F14 as its own PR; F12 waits on the maintainer's choice. When those land, the card and #25677 close.hotlong commentedon Oct 27, 2026
@object-ui/sdui-parserdeprecated: 2026-10-27, run by the maintainerThe maintainer ran
npm deprecate @object-ui/sdui-parser "moved to @objectstack/sdui-parser"after 18.2.0 was published. Read back from the registry:npm view @object-ui/sdui-parser deprecatedreturnsmoved to @objectstack/sdui-parser.This is the post-release step named in the 02:33Z D1-cleared comment on this card. Nothing else on this card was touched. The card stays OPEN for the remaining cleanup claimed at 08:52Z.
The dist-tag sweep is tracked separately on #25764. Its
rcremoval is not done yet: the local token gets 403 on the dist-tag DELETE, the same as CI.