Skip to content

objectui 并入 objectstack 为 ui/ workspace:D1 裁定(A+)的执行父单 — 一个 PR 同时改 spec 与渲染器,删除两仓互钉,@object-ui 保留包名并与 @objectstack 同一版本组,objectui 仓归档为迁移说明 #25677

Closed

Description

@objectstack-fleet

Filing gate ③ + ④:维护者直派的跨仓协调父单。⛔ 不是认领;父单永不派发,子单逐张立、按 Blocked-by: 排序。

Epic PM registration (seat-lifecycle.md 〈Epic 子树车道〉)

维护者裁定(Tesla,Claude 项目线程「Decide objectui–objectstack pinning」,2026-10-24,逐字):

  • 01:32Z「objectui 的"独立开源产品"是否必须是独立的 GitHub 仓?这个如果影响我们的开发效率的话,是否可以吧 objectui 仓库改为 一个迁移说明?」→ 独立 GitHub 仓非必须;旧仓改迁移说明(归档)。
  • 01:33Z「同一个版本号组」→ 合并后 @object-ui 与 @objectstack 进同一个 changesets fixed 组。
  • 01:34Z「18.1 已经在准备发版本了」→ 不做 pin 自动滚动;18.1.0 发出后直接做合并准备。
  • 09:19Z「objectstack 已发布 18.1」→ 本父单的触发。
  • 01:38Z「所以你最终的方案是 objecui 合并到 objectstack 仓库吗」— 答:是。
  • 15:08Z「B」(问:objectui 在途任务要不要等完再合并;B = 不等,准备期照常开发,切换日冻结 1–2 天,没合的分支机械移植)。在途盘点:objectui 开放 PR 8 个(1 个开发 PR,已合)、开放卡 38 张(3 张在做、9 张待派、11 张当日新立 finding、7 张座位贴)、claude/* 分支 382 个中只有 1 个带 PR。

分析文档(读数、三方案评估、迁移路径):https://claude.ai/artifact/74cjpi59CNhdZ86BemGAx2

维护者速读

  • 事由: 两仓互相按提交钉(.objectui-sha 60 天搬了 47 次、本周 13 次;objectui .objectstack-sha 10-19 起),每个跨仓功能 3 个串行 PR(例 feat(analytics): carry a dataset dimension's nullLabel on its column descriptor, and name System Overview's null user bucket "System" #25402 → objectui#13354 → fix(spec): a dataset dimension's nullLabel is live; move the objectui pin past its reader #25437),两仓合计约 1.8 万行耦合脚本,每小时 13 分钟 Spec Shape Gate,liveness 账本 184 条带日期的跨仓证据。根因是 UI 契约(packages/spec/src/ui)归本仓、每天改约 27 次,而读它的渲染器在另一个仓。
  • 要做: objectui 整仓并入本仓 ui/(git subtree add,保留历史);一个 lockfile、一个 turbo 图、一个 Version PR;删除 build-console / bump-objectui / objectstack-pin 等脚本;liveness 证据改仓内路径;@object-ui 39 个包名与 npm scope 不变,进同一 fixed 组;objectui 仓 README 改迁移说明、issue 转移、归档。
  • 不做: pin 自动滚动(已裁不做);只读镜像仓(日后有外部关注再加);cloud 仓不改(它从此只钉一个提交,是第三个受益方)。
  • 完成标准: 见「Done when」。

谁付代价(业务筛)

车队:每月约 40 个搬 pin 的 PR、每个跨仓功能 3 个串行 PR 的墙钟等待、每天 24 × 13 分钟的门禁、184 条证据的日期续期。用户:Console 与 spec 的同版本一致今天只靠 build-console.sh 注入保证(11.5.0 曾因此打进旧 client),合并后由结构保证。下游:cloud 同时钉两个仓并合并两个 main 构建,#25556 记录了它因此少取 7 个提交。

子单(按序,逐张立;一席每 fire 至多三张)

Done when

  • 一个 PR 能同时改 packages/spec 与 ui/ 的读取器,并在同一次 CI 里编译验证。
  • .objectui-sha、.objectstack-sha 及上面列出的脚本都不在树里;liveness 账本没有 evidenceScope: cross-repo 条目。
  • 一次 Version PR 同时包含 @objectstack 与 @object-ui,版本号相同;一次发布从本仓发出两个 scope。
  • objectui 仓已归档,README 首段是迁移说明,未关闭 issue 已转移。
  • 切换期间若需 18.1.x 补丁发版,切换前走旧流程、切换后走新流程,不在冻结窗口内发版。

风险

  • CI:spec 改动的 PR 多跑一次 Console 类型检查(按现有 13 分钟估),靠路径过滤与 turbo 缓存打消;子单 1 给出实测值。
  • 两套 vitest / eslint / tsconfig 配置:保留 ui/ 自己的配置树,不强行统一。
  • 子单 2–5 都碰受管面,需授权批准后由席位入队;子单 5 的仓库设置只有维护者能做。
  • 回滚:切换前的 objectui main 仍在;两周内判定失败可 git subtree split 拆回。

Dedupe

search_issues 于 2026-10-24 09:35Z,含 closed:「merge objectui into objectstack monorepo ui workspace 合并 objectui 单仓 subtree」53 命中,「objectui-sha pin coupling monorepo merge repositories decision」5 命中。相关而不重复:#25556(open,跨仓公开类型改动同步落地的规则卡,本父单是其结构性答案,子单 6 关它)、#24306 / objectui#12955(closed,现行互钉的裁定与执行)、#23238(closed,Shape Gate 移到本仓)。没有任何卡提议合并两仓。New.

Activity

  1. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: first grade — tooling · priority:p1 · domain:devx · area:devpath · pm:awaiting-maintainer · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-24T15:52Z

    ⛔ Not a claim, ⛔ not a dispatch.

    Maintainer-action: the maintainer releases the merge for dispatch, or names the seat that drives it — done when a maintainer comment on this card says go (sub-cards then return to pm:queue in order)


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    ContributorAuthor

    Epic delegation — maintainer-action done · epic PM session_01RSDL3SFtJaKzcymvCD8RsU · os-tesla · 2026-10-24T16:04Z

    ⛔ Not a claim: a parent is never dispatched.


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 25, 2026

    @objectstack-fleet
    ContributorAuthor

    Epic status, 2026-10-25 19:50Z (epic PM, child 5 cutover procedure #25752) — sitting 2026-10-26 09:00Z.

    Children

    Sitting order: #25825 → 4b PR 2a → 4a #25745 (merges main, applies its ui-side patch) → PR B #25827 → 4b PR 2b → required checks add Type Check UI, Lint UI, Build & E2E UI (not Test UI until the nested ui/.github/ deletion lands).

    New aftercare cards: #25831 (ui changesets → root; 41 ADR-0087 dispositions), #25832 (skills move, decision C).

    维护者速读:五张 PR 明早按上面顺序合;新增发现:4a 删 pin 后两个 sdui 门禁会红必需车道,今晚补派 4b PR 2a 先合即可避免;required checks 暂不加 Test UI。

  4. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    Epic status 2026-10-26T00:40Z — cutover landed; aftercare dispatched · epic PM session_01RSDL3SFtJaKzcymvCD8RsU

  5. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    Epic status 2026-10-26T02:22Z — cutover aftercare, first two hours · session_01RSDL3SFtJaKzcymvCD8RsU

    main head c475b45b56. Since the sitting closed (2026-10-26T00:42Z), seven aftercare PRs landed through the merge queue, in landing order:

    PR card what landed
    #25852 #25711 (4a follow-up, ruling 30 B) Test UI 3/16 + Test Core 5/8 read the merged tree 2026-10-26T01:21Z b9063ce02f
    #25856 #25855 (bill 49) Type Check UI builds the five vitest-setup packages first; green on an empty ui scope 2026-10-26T01:21Z fc2aaaec52
    #25857 #25853 (step 6, repo half) Lint UI + Build & E2E UI registered in REQUIRED_CONTEXTS; --verify-required-set on main: 7 live, 0 / 0 both directions 2026-10-26T01:49Z 3fca5996b3
    #25865 #25851 (bill 50) three ui/ test sources spell their temp bases; Lint · PM dispatch-gates green on push run 40256110080 (2182 / 2182, first green push run since fd40831416) 2026-10-26T01:49Z 121054498b
    #25861 #25712 (4b 2c) CI page + two tests stop reading the two deleted workflows; Test UI 9/16 green, 8/16 down to one row 2026-10-26T01:49Z c475b45b56

    Readings on main after these: push run 40253800516 — Type Check UI green (job 121351290708); Test UI 3/16, Test Core 5/8 green. Push run 40256110080 — Lint & Type Check green. One red remains on main: Test UI 8/16, check-pre-install-import-graph.test.ts (ten nested ui/.github/workflows/* call the deleted scripts/objectstack-pin.mjs) — the first row of 4b 2d on #25712, which deletes ui/.github/workflows/** (Tier H). Queue-flake anchor #25864 closed as completed with that reading.

    #25752 step 6 is complete on both halves (ruleset by the maintainer at 2026-10-26T00:25Z, registry by #25857). In flight: #25878 (draft, Tier H) adds the Type Check UI row and waits for the maintainer's word on adding that context to the ruleset — a recorded deviation from #25853 item 4, whose condition (bill 49 open) no longer holds. #25854 (steps 7–8, objectui wind-down): 6 bot PRs and 8 seat posts closed, issue transfers under way at the write budget, README migration notice PR next, then the archive request (archive, never delete — ruling 31 A). #25712: 2d split into 2d-1 / 2d-2 (Tier S, retarget or retire the 81 ui/scripts/__tests__ readers of ui/.github) and 2d-3 (Tier H, the deletion with a 28-row disposition table); census at the card.

    New aftercare cards from the maintainer's CI-speed reading (2026-10-26T01:45Z 「创建issue」): #25867 (merge_group ui lanes from the base_sha diff) and #25868 (Test UI affected selection) dispatched, Tier H, each editing a different ci.yml job; #25869 (build the seven @objectstack packages once) held until both land. Concurrency: 6 card threads.

    Still owed before this epic closes: #25831 (changesets, one fixed group), #25832 (skills move), #25753 (18.2.0 joint Version PR — maintainer's click), the objectui archive click, and the Dependabot post-cutover check.

  6. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    Pointer: the cloud half of the merge is carded · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-26T02:29Z

    ⛔ Not a claim, ⛔ not a child of this epic.


    Generated by Claude Code

  7. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    总监决裁线收班交接 · 2026-10-26T03:39Z

    维护者 2026-10-26 03:30Z:「决策也可以下班,相关卡片让其他agent决策」「需要决策的都要有决策卡,其他agent才能收到」。总监线停止接新决策;未决项按下表落在各自的卡上,只有维护者本人才能做的点击才去找他。完整台账见项目记忆 director-decision-list-2026-10-24.md(第 1–34 项)与 /mnt/project-files/d1-merge/out/director-handover.md。

    未决项 落点 现状(03:40Z 读) 谁跟
    #25902 Lint UI 1.5 → 4.8 分钟是否拆 #25880 决策卡评论(needs-user-decision,推荐 C 接受不拆) #25902 必需检查绿,os-zhuang + hotlong 已请评审 D1 PM / #25880 席位裁
    objectui 归档顺序与时机 #25854 决策卡评论(needs-user-decision,推荐 A 清板 → README → 归档) 6 bot PR、69 卡未动;changeset-release 下次 ~06:20Z 重开 #13547 #25854 席位;归档点击归维护者
    Type Check UI 进 main 必需检查集 #25878(已合 03:20Z,注册表行已入) 维护者 02:56Z 说「加了」,但 03:00Z ruleset 12119582 仍 7 项;需他重开 ruleset 确认并 Save,之后贴 --verify-required-set 0/0 D1 PM 向维护者要一次点击
    联合 18.2.0 发版 #25753(6/6);裁决 27 B(不单发 18.2.0)、28 B(#25831 改一条合并 changeset) 前提未齐:#25831、#25754 修正 PR;#25640 不动 #25753 席位在前提齐后呈维护者合 Version PR
    #25869(CI 提速第 3 张) 卡自身 HOLD,等 #25881/#25882 落地后的队列证据 D1 PM
    决策箱存量 #25866、#25873 带 needs-user-decision 总监线未呈 协调者按常设决裁批流程另派呈批席

    已入队/已落地无需跟:#25878 已合;#25881 自动合并已开;#25882 已合(main cb0a2fc)。收尾杂项:#25810 关为被 #25745 取代;#25829 在 PR B 落地后一行评论注明失效。

    继续生效的维护者规则:需维护者审批的 PR 必请 os-zhuang 为 reviewer;30 B 四条快 lane 绿即合、Test UI 永不必需;安全 PR 守草稿直至维护者本人批准、Tier H 只由人批;永不碰发布 PR;任何卡/PR 2 小时无进展可接管。

  8. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    Closing the epic · 2026-10-27T23:09Z. Closed on the maintainer's choice in the cleanup project thread (2026-10-27 22:23Z): 「New card for F14, close the epic」.

    objectui now lives in this repository as ui/. Sub-issues 1–5 are closed: #25678, #25685 (with #25723 and #25726), #25697, #25712 and #25752. The first joint release has shipped: npm view reads 18.2.0 for @object-ui/{core,react,components,app-shell,plugin-grid} and for @objectstack/{console,spec}. The aftercare cards #25831, #25832, #25854, #25869 and #25880 are closed too.

    Landed in the cleanup round:

    Follow-ups now stand as cards of their own:

    #25753 stays open for two items: whether www.objectui.org should deploy from ui/apps/site (no workflow deploys it today), and the leftover verify branch. Both wait on the maintainer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain:devxpm:epicpriority:p1High: required for production / M2tooling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions