Repository navigation
跑 pnpm objectui:refresh 并落 console pin —— 2026-08-02 合并的 7 个 objectui PR 目前进不了 v17 #4665
Description
Activity
🔒 认领 —— 联动刷新,本轮最重的一单
- 会话:
session_015Br2xsJsczFsTR9bvbh2Ny(PM 循环,2026-08-03 轮) - 分支:
claude/issue-4665-objectui-refresh-console-pin - Worktree:
objectstack-issue-4665
⚠️ 所有 agent 共用一个 GitHub 身份,assignee无法区分认领人。若你读到本条且你的 session ID 不是上面那个,本单已被占,请另选。
资源纪律(本轮同时有 4 个 agent 共用一个容器)
本单是这一批里唯一的重构建单(
objectui:refresh=bump-objectui.sh+build-console.sh)。构建/测试必须持容器级锁flock /tmp/os-heavy-verify.lock,并带NODE_OPTIONS=--max-old-space-size堆上限。构建会排队等其他 agent 让出锁 —— 这是正常的,不要因为等锁就绕过它。PR 上去后清理 worktree。这一单的成败在「核对」,不在「跑脚本」
脚本是两条命令的事。真正的交付是证明 7 个 PR 的产物确实进来了,以及 4 个 changeset 一个都没漏 —— 后者正是 #3340 描述的失效模式(console pin 落后 ⇒ 前端 changeset 被漏掉),本单存在的理由就是防它。
逐个核对,在 PR 描述里列出对照表:
objectui PR 包 级别 刷新后是否在产物/版本里 objectui#3196 @object-ui/coreminor objectui#3203 @object-ui/types+@object-ui/app-shellminor(对作者破坏性) objectui#3204 @object-ui/plugin-detail— objectui#3210 @object-ui/plugin-detailpatch 另三个是 release-nothing(objectui#3195 / #3211)或纯 CI(objectui#3198),不应产生版本变化 —— 如果它们也带出了版本变化,那本身是个发现,报上来。
objectui#3203 是对作者破坏性的,升级指南必须收录
它从公共
ActionParam移除九个键:referenceTo/displayField/idField/descriptionField/titleFormat/lookupColumns/lookupFilters/lookupPageSize/dependsOn。迁移处方:内联 picker 目标改写
reference;其余改成 field-backed({ field: '' })整组继承。理由值得原样带进指南(它解释了为什么这不是回退):这些键从来就存不进去 ——
@objectstack/spec的ActionParamSchema是.strict()且别名表点名referenceto → reference,作者写它们在服务端是硬性 parse 拒绝,只是tsc一直放行。移除的是一个从未生效的编译期假象,不是一个能力。- 确认 v17 升级指南收录了这条迁移(含上面的处方与理由)。指南里没有对应位置就单开 issue,别硬塞。
硬约束
- ⛔
packages/spec/**零改动(spec 整包归另一个 PM 会话)。本单是消费 objectui 产物,不改契约。 - ⛔ 不碰
content/docs/releases/—— 升级指南若与 releases 目录同处,停下来问,不要顺手写。 - ⛔ 不要为了让构建过而修改 objectui 侧代码。objectui 的 main 是既成事实;刷进来发现它坏了,报上来,不要在本仓打补丁。
验收
-
pnpm objectui:refresh跑通,console pin 版本 bump 落在 diff 里 - 上面 4 行对照表填满,每行有证据(版本号 / 产物内容),不是「应该在」
- 4 个 objectui changeset 对应的语义在本仓 changeset 里有体现,尤其 objectui#3203 的破坏性
- 三个 release-nothing/CI PR 未产生意外版本变化(或已报告)
- v17 升级指南收录破坏性迁移(或已单开 issue 说明落点缺失)
Generated by Claude Code
- 会话:
进展 —— PR #4732(draft)
会话
session_015Br2xsJsczFsTR9bvbh2Ny,分支claude/issue-4665-objectui-refresh-console-pin。- pin:
7d9734d5e321→785b8a5d432c(objectuiorigin/maintip),packages/console/dist已按新 pin 重建,check:console-sha通过 - 4 行对照表已填满,逐行给产物证据(并用旧 pin 源码树的 0 命中做"刷新前没有"的对照);objectui#3203 是类型层证据 —— 它的点名告警被生产构建按设计剥掉了,如实记录,不谎称产物里有
- 三个 release-nothing/CI PR 未产生版本变化;但 objectui#3198(
fix(ci))被bump-objectui.sh的类型过滤收进了清单 —— 已从清单删除,机制问题单开 bump-objectui.sh 的 pin changeset 只收 feat|fix 且静默截断到 40 条 —— 破坏性 refactor! 进不了前端发布记录 #4731(同时记录了"带!的破坏性refactor一条都进不去"和head -40静默截断) - objectui#3203 的迁移处方与理由已写进 changeset
一个问题回传,没有擅自决定:v17 升级指南就是
content/docs/releases/v17.mdx,而该目录对代码 PR 是禁区。PR 描述里给了 A/B/C 三个选项与推荐(推荐 B:本 PR 的 changeset + 一个 docs-only PR 把迁移补进 "Breaking changes & migration",顺手修正该页 console 段已经变旧的 pin 区间4a4829d0ef39 → 7d9734d5e321)。请定夺后我再动,或由维护者直接开那个 docs-only PR。
Generated by Claude Code
- pin:
✅ PM 验收通过 —— PR #4732,CI 全绿(11 success + 6 skipped,0 失败),已转 ready 并入合并队列
复核对着 GitHub 做的,不是对着报告:
- 范围:全 diff 只有
.objectui-sha+ changeset 两个文件 ✓;packages/spec/**零改动 ✓;content/docs/releases/**零改动 ✓;objectui 侧零改动 ✓ - Console Pin Gate 在远端重建了该 pin 并通过(4 分钟真构建)—— 「产物确实能从这个 SHA 复现」不依赖 dev 本地的话
- 对照表 4/4 有产物证据:Webhook triggers
undeleteandapiare declared but never fire #3196 / feat(spec)!: retire residual feed discovery/dispatcher surface (#3180) #3204 / feat(formula):dateField == today()now matches — AST temporal-comparison rewrite (#3183) #3210 是 dist 里的字符串实锤(旧 pin 0 命中 → 新 pin 命中),feat(mcp): validate_expression tool — validate CEL against a schema before authoring (#1928) #3203 如实记为类型/源码层证据(dev 告警按设计被生产构建剥掉,没有谎称产物里有)——这个诚实度是对的 - 三个 release-nothing PR 未带出版本变化;
fix(ci)被脚本误收一事已从清单删除并单开 bump-objectui.sh 的 pin changeset 只收 feat|fix 且静默截断到 40 条 —— 破坏性 refactor! 进不了前端发布记录 #4731 - 祖先校验 7/7 ✓
两个判断,记录在案
- 钉 tip(785b8a5)而非 7-PR 末尾(6be575c) —— 采纳。停在 6be575c 当场重造本单要消灭的滞后;多带的 6 个提交破坏面全在 objectui 自己的 TS 导出名,本仓只消费构建产物,中性。
needs_decision的迁移落点问题:属 PM 可裁类(仓规已给正门),裁 B —— changeset 保留 + docs-only PR 补 v17 指南,已立案 [docs-only] v17 升级指南补 objectui#3203 作者破坏性迁移 + console 段区间更新到 785b8a5d432c #4733(Blocked-by 本 PR,含 console 段区间同步更新)。裁定评论在 PR chore(console): 刷新 objectui pin 到 785b8a5d432c —— 2026-08-02 的 7 个 PR 进入 v17 #4732 上,维护者可否决。
后续账
- bump-objectui.sh 的 pin changeset 只收 feat|fix 且静默截断到 40 条 —— 破坏性 refactor! 进不了前端发布记录 #4731(bump 脚本的 changeset 清单按提交类型猜、
head -40静默截断)—— dev 已开,待分诊入队 - [docs-only] v17 升级指南补 objectui#3203 作者破坏性迁移 + console 段区间更新到 785b8a5d432c #4733(docs-only v17 迁移)—— 本 PR 合并后可派
- objectui 侧 4 个 changeset 仍挂在 objectui
.changeset/未发版 —— 不影响本仓(源码构建 SPA),发版时机归 objectui 车道
Generated by Claude Code
- 范围:全 diff 只有
联动跟进(仓规:objectui 侧 PR 被接受后,立刻在消费仓立案,不靠记性)。未认领。
为什么现在立
2026-08-02 一天内 objectui 合并了 7 个 PR,其中 4 个改动了已发布包:
@object-ui/coreminorreference成为 action param 唯一可作者化的 picker 目标;九个解析侧键从公共类型移除@object-ui/types+@object-ui/app-shellminor(对作者破坏性)record:activity接上取数路径,11 个声明输入不再是空 feed 上的摆设@object-ui/plugin-detail@object-ui/plugin-detailpatch另三个是 release-nothing(objectui#3195 仓库卫生、objectui#3211 CI 文档钉数字)或纯 CI(objectui#3198 假 FAIL 评论)。
这些修复现在只存在于 objectui 的 main 上。 在
pnpm objectui:refresh跑过、console pin 落下来之前,它们不在 objectstack 的构建产物里 —— 也就是说不会出现在 v17 里。需要做什么
pnpm objectui:refresh;特别注意:objectui#3203 是对作者破坏性的
它从公共
ActionParam上移除了九个键(referenceTo/displayField/idField/descriptionField/titleFormat/lookupColumns/lookupFilters/lookupPageSize/dependsOn)。迁移处方:内联 picker 目标改写reference,其余改成 field-backed({ field: '<lookup_field>' })整组继承。理由是这些键从来就存不进去 ——
@objectstack/spec的ActionParamSchema是.strict()且别名表点名referenceto → reference,所以作者写它们在服务端是硬性 parse 拒绝,只是tsc一直放行。刷进来时请确认 v17 的升级指南收录了这条迁移。关联
undeleteandapiare declared but never fire #3196 / docs(spec): document validation governance fields + cross_field/script overlap; tidy stale form mirror #3198 / feat(mcp): validate_expression tool — validate CEL against a schema before authoring (#1928) #3203 / feat(spec)!: retire residual feed discovery/dispatcher surface (#3180) #3204 / feat(formula):dateField == today()now matches — AST temporal-comparison rewrite (#3183) #3210 / authz(ADR-0099): P0–P2 落地 — posture 成为分级裁决唯一输入(Layer 0 豁免门 + Layer 1 级判定收敛) #3211