Skip to content

chore(deps): 升级 @objectstack/* 17.0.0-rc.2 → 17.0.0-rc.3(维护者指令),并测量在案上游镜像的行为变化 #901

Description

@yinlianghui

维护者指令(修复线 PM 会话转达,session_01VHrPAGEgFDoHjphqYG4BMa):把 hotcrm 的平台基线从 17.0.0-rc.2 升到 npm rc dist-tag 当前指向的 17.0.0-rc.3(已实测确认,无 rc.4)。此前基线约束「⛔ 任何 PR 不得顺手升级」即日起由本单解除——升级走本专职单,其余修复单仍不得顺手动版本。

范围

  1. 版本提升:package.json 全部 @objectstack/* 依赖 rc.2 → rc.3,pnpm install 刷新 lockfile。
  2. 全量验证与后果修复:validate / typecheck / build / test / lint / hygiene 全绿;红项只在 hotcrm 侧修(元数据/测试/文档),⛔ 不写平台 workaround,⛔ 不改平台包。修不动的红项如实报 blocked。
  3. 在案上游镜像行为测量(解锁扫描的实测版):对以下有廉价探针的镜像逐个在 rc.3 上重跑镜像 issue 里记录的复现步骤,报告「已修复 / 仍复现 / 无法快速判定」:objectstack#5574(multi:true ctx.previous)、#5591(stripReadonlyFields 连坐)、#5586(UnknownFilterTokenError 漏诊)、#4697(flow 变量 default)。其余(#5491–5495 权限矩阵、#5386 controlled_by_parent、#5149/#5019 UI 侧)标注「需专项复测」即可,不强行展开。
  4. 文档基线引用:全仓 grep rc.2 / 17.0.0-rc.2 的文档引用,随升级同批更新为 rc.3(仅版本号字符串,不动语义)。

协同注意

Refs: 上游监控清单 objectstack#5574 #5576 #5586 #5591 #5491–5495 #5386 #5149 #4697 #5019

Activity

  1. self-assigned this
    on Aug 6, 2026
  2. yinlianghui commented on Aug 6, 2026

    @yinlianghui
    CollaboratorAuthor

    [PM 认领 · 专职升级单] session_01VHrPAGEgFDoHjphqYG4BMa · 分支 claude/issue-901-rc3-upgrade · 文件面:package.json + pnpm-lock.yaml + 升级后果所及的 hotcrm 侧文件(元数据/测试/文档版本引用)+ changeset

    npm 实测:rc dist-tag = 17.0.0-rc.3,无更新版本。裁定与边界见 issue 正文;补充执行细则:

    1. changeset 用 'hotcrm': patch,正文写清 rc.2→rc.3 与后果修复清单。
    2. 镜像探针测量结果在 PR body 单列一节(已修复/仍复现/需专项复测三档)——这是 PM 解锁扫描的输入,措辞照实。
    3. 若 rc.3 引入的行为变化使某些已合并文档的断言失效(如 docs(automation): retire the workflow-rules section in all three locales (#833) #854 的平台退休证据、docs(agents): 把 Schema Validation 清单第 3 条指向真实存在的 schema (#852) #857/docs(agents): 把唯一的 ObjectQL 范例改成本仓真实的读路径 (#855) #862 的导出面),逐条列出、只报不改(各自另立单),本单不做文档语义翻新。
    4. 全量验证必须在 pnpm install 刷新后的真实 rc.3 上跑(防 stale artifact:build 前删 dist,#5148 教训)。

    Generated by Claude Code

  3. yinlianghui commented on Aug 6, 2026

    @yinlianghui
    CollaboratorAuthor

    ✅ 验收通过 —— PR #910 已转 ready 并挂 auto-merge(CI 9/9 全绿,head 2ff3d15,文件面 5 个与声明一致)。

    验收要点:

    1. 零后果升级,且「零」有根因:对全部 50+ 个 @objectstack/* 包的 CHANGELOG 机械抽取 rc.3 段落,剔除依赖提升后只剩一条实质变更(BulkActionParamSchema.options[] 改 .passthrough(),loosening only);本仓仅有的两处 bulk-action options(account.view.ts 的 update_tier / transfer_owner)只写 label+value,该放宽为 no-op。六道门 rm -rf dist 后全绿,钉子测试零需更新,作者期告警逐字不变——空修复表是查实的,不是没查。
    2. 双锁处置正确:pnpm-lock + package-lock(.stackblitzrc 走 npm install,CI 有 lockfile-in-sync 步骤,沿 chore(deps): upgrade ObjectStack to 17.0.0-rc.2 and migrate the metadata it broke #663 先例)双双刷新,@objectstack/* 的 rc.2 双锁归零;package-lock 残留 41 处 rc.2 均为 better-auth 系,正确保留。
    3. 四条上游镜像 rc.3 实测全部仍复现(#5574/#5591/#5586/#4697,对应本仓 批量写(multi: true)路径上 ctx.previous 恒为空 —— 15 个读 previous 的 hook 在该路径全部空转,知识文章可被批量写成「已发布但从未复核」 #779/readonly: true 在 insert 路径上完全不生效,且 update 路径的剥离会连 hook 自己写的戳一起删掉 —— 已发布文章可落成 published_at = null #788/[平台侧观察] UnknownFilterTokenError 覆盖不到含非 word 字符的类占位符串:{TODAY()} 不报错,原样下发按字面串比较(匹配全部行) #786/FlowVariableSchema has no defaultValue, so a flow variable cannot be declared bound — the obvious remedy for an unbound-variable condition does not exist #651)——解锁扫无收获,四单继续 blocked;探针与引擎源码行号双重佐证,并据实补记 #5574 的 system-context 细化(不改写镜像结论,且本仓现实路径恰为 system 上下文,影响判断不变)。8 条无廉价探针的镜像标「需专项复测」,口径正确。
    4. 文档版本引用清单:纯版本号 4 处已同批更新;66 个文件的「measured on rc.2」语义性历史时点按仓库惯例保留(main 上仍有 27 个文件带 rc.0/rc.1 时点为证)。「测量时点是否随基线刷新」属跨 60+ 文件的翻新决策,已转维护者轮次报告中提示,不由本单代判。
    5. rc.3 失效已合并断言:零条,docs(automation): retire the workflow-rules section in all three locales (#833) #854/docs(agents): 把 Schema Validation 清单第 3 条指向真实存在的 schema (#852) #857/docs(agents): 把唯一的 ObjectQL 范例改成本仓真实的读路径 (#855) #862/#5386 相关面逐条核对留痕。

    本单合并后 main 基线 = 17.0.0-rc.3,R27 起新派单全部以 rc.3 为前提复核。


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

pm:dispatchedDispatched to a dev agent by /pm-dispatch

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions