Skip to content

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

Open

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 小时无进展可接管。

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