chore(console): bump objectui pin 7dfbeb70 → 0cf8f0f7 (66 commits, 24 changesets, 2 annotated breaking) - #6476
Merged
Merged
Conversation
docs(ROADMAP): P1.12 Routes/Tests 两条 PermissionManagementPage 记录按现实改写 (#3704) (#3714) 范围 7dfbeb704e1e...0cf8f0f70d10:66 个非合并 commit,24 份声明的 changeset (2 份带作者自述的破坏性标注,0 份声明 major),42 个 commit 未带 changeset。 生成的 @objectstack/console changeset 取区间内最高声明级别 minor。 objectui@0cf8f0f70d1040a63316e0c55cb2fd2e87989d73 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BDmDsu2575gDxeMCxXhDE3
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
生成的 changeset 正文带两条 `**BREAKING**`(objectui 以 minor + 正文标注声明 破坏,digest 自 #6289 起会照实打标),触发 check-adr-0087-registration。 处置取 `not-required (already-registered dashboard-widget-action-aria-removed)`: 两条破坏落在 objectui 自家 npm 包的 TypeScript 导出面,@objectstack/console 发布的 是按 pin SHA 构建的冻结 SPA 产物、不转发这些类型入口;区间内唯一触及元数据作者面的 处方(dashboard.widgets[] 的 actionUrl/actionType/actionIcon/aria)是 objectstack 自己 protocol-17 的改动,已由 conversions/registry.ts 的 dashboard-widget-action-aria-removed 登记,并列在 migrations/registry.ts step17 的 conversionIds 中。该条目在 merge base 上即已存在,本 PR 未新增任何台账条目。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BDmDsu2575gDxeMCxXhDE3
hotlong
marked this pull request as ready for review
August 8, 2026 02:00
This was referenced Aug 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #6317
把
.objectui-sha从7dfbeb704e1e推到执行时刻的 objectuiorigin/mainhead0cf8f0f70d10,并带上scripts/bump-objectui.sh生成的那一份@objectstack/consolechangeset。文件面只有这两个。SHA 与区间
7dfbeb704e1eace5dc5eae1d6168c4ded805a32b(#6173 所设)0cf8f0f70d1040a63316e0c55cb2fd2e87989d73docs(ROADMAP): P1.12 Routes/Tests 两条 PermissionManagementPage 记录按现实改写 (#3704) (#3714),2026-08-08 00:14:02Zahead_bybehind_by标题里的数字全部作废。 steward 三次读数(1 → 11 → 47 commit)都已过期;认领时刻实测 66 个 commit / 24 份 changeset。
b785a77b3b早已不是区间末端,它是区间里最老的那个 commit。测量方法(诚实说明:未走 REST
compare)派发单要求用 REST
compare/{pin}...main。本会话内api.github.com直连返回GitHub access is not enabled for this session,compare端点在可用工具面里没有对应封装,所以换了两条互相独立的路子交叉验证,而不是单靠一次本地merge-base:2026-07-30,早于 pin 的2026-08-07,因此 pin→main 的完整祖先链在本地齐全,结论可信。git merge-base --is-ancestor退出 0;git rev-list --left-right --count pin...origin/main=0 66。main拉取 reverse-chronological commit 列表,pin7dfbeb704e…出现在第 67 位(0-based index 66),即其前方恰好 66 个 commit;pin 出现在该列表内本身即证明behind_by = 0。两法在
ahead_by = 66上完全一致。#6099 破坏性标注复核 —— 不是空洞通过,真的命中了
立单时区间内 0 份 changeset,那次复核是零集合上的空洞通过。本次对长出来的区间重做:
命中 2 份,均为
minor+ 正文标注 —— 正是 #6099 描述的那个形状:.changeset/objectstack-family-rc5-refresh.mdminor## Breaking, in FROM → TO form,5 条.changeset/reclaim-natural-gesture-names-3363.mdminor## Breaking, in FROM → TO form,2 条重命名区间内 0 份声明
major(objectui 在发布窗口内由scripts/check-changeset-no-major.mjs禁止major),其余 22 份均为patch。两份的实际内容:
objectstack-family-rc5-refresh(objectui#3560,commit48132f7e6) —— 区间确实跨过了 objectui 采纳@objectstack家族17.0.0-rc.5。所以这不是一次装饰性的 pin 移动。其破坏面:@objectstack/spec/ui五个交互配置模块退休(32 defs / 64 exports,@object-ui/types丢掉 32 个 re-export,词表下沉到各自真实消费者);@object-ui/types不再 re-exportNotificationAction/EmbedConfig;ThemeEngine停止发射九组已退休 CSS 变量(theme.customVars成为唯一的门);HttpMethodSchema改绑HttpMethodSubsetSchema;dashboard.widgets[]的actionUrl/actionType/actionIcon/aria改为具名报错而非静默丢弃(附os migrate meta --from 16迁移路径)。reclaim-natural-gesture-names-3363(objectui#3363,commite6fdbdcc4) ——TouchGestureType→GestureType、TouchGestureConfig→GestureConfig,旧名直接移除、不留 alias。形状本身逐键不变。破坏面落在哪里:以上破坏都是 objectui 自家 npm 包(
@object-ui/types/core/react/mobile)的 TypeScript 导出面。@objectstack/console发布的是按 pin SHA 构建的冻结 SPA 产物,不转发这些类型入口,因此对 objectstack 侧消费者没有编译期破坏面。交叉验证:脚本自己的 digest 独立报出
24 releasing changeset(s), 2 breaking (0 declared major, 2 annotated)—— 与人工逐条读出的结论逐项吻合。ADR-0087 处置(第二个 commit 补的)
生成的 changeset 正文带
**BREAKING**标记,触发check-adr-0087-registration(#6148),首推时该门判红 —— 门判得对,需要把「要不要台账条目」这个问题书面回答掉。判断依据(先读 registry 再下结论,不凭 changeset 措辞推断):区间内唯一触及元数据作者面的处方是
dashboard.widgets[]的actionUrl/actionType/actionIcon/aria。实测它在射程之内且已有条目:packages/spec/src/conversions/registry.ts的dashboard-widget-action-aria-removed——surface逐字覆盖这四个键,toMajor: 17,带apply()与 fixture(expectedNotices: 4,一键一条)。packages/spec/src/migrations/registry.ts的step17.conversionIds中。already-registered而非registered。写入的标记是 changeset 正文末尾的单行 HTML 注释,
disposition部分为:(此处不逐字贴出该行:GitHub 正文会把 HTML 注释整段吞掉,以文件内容为准 —— 见
.changeset/console-0cf8f0f70d10.md最后一行。)门复跑后:
✓ 1 declared-breaking changeset(s), each carrying an ADR-0087 disposition。排序与时序观察
chore: version packages (rc)(open) —— 本次真正的排序约束。本 PR 必须在它之前合入 main,那个 PR 每次 push 都会重生成,从而把本次的@objectstack/consoleminor 收进去。Release process: prevent frontend (objectui) changesets being missed when the console pin lags #3340 门存在的原因就是 v16 带着滞后 pin 切版、静默丢了 4 个前端改动。chore: release packages(open,mergeable_state: unstable,base =0cf8f0f70d10) —— steward 提示「要相对它排序、不要抢跑」。实测这里不存在竞态:objectui-changeset-digest.mjs是走 log 而不是 diff 两个端点的(源码注释直言:release 在区间内消费掉的 changeset 在to处已不存在,端点 diff 会把它丢掉 —— 正是本机制要防的失败),且每份 changeset 先在to读、读不到就回落到新增它的那个 commit,并用absentAtTo显式播报。finding(bump-objectui): pin 范围跨过 objectui 的 release commit 时,digest 会先刷一屏fatal:再报成功 —— 一个完整的结果长得像一次失败 #6175 的自测用例专门覆盖了「to是一次 release commit」这个形状。所以 objectui#3598 无论先合后合,本 PR 的 24 条记录都不变。scripts/bump-objectui.sh)仍 open、未合。 本 PR 一字未动该脚本;两者文件面无交集。Console Pin Freshness与本地check:objectui-pin-fresh均报 FRESH。已跑的门禁
pnpm linteslint . --no-inline-config,退出 0pnpm exec turbo run typecheck --concurrency=2Tasks: 125 successful, 125 totalnode scripts/check-adr-0087-registration.mjsalready-registered的 id 在 HEAD 与 merge base 两侧都解析得到pnpm check:objectui-changesetpnpm check:objectui-pin-freshpnpm check:empty-changeset1 declaring changeset(s) addedpnpm check:console-shaNo console dist … skipping,产物 gitignored、由build-console.sh生成pnpm check:nul-bytesCI 侧本轮全绿:
ESLint/TypeScript Type Check/Check Changeset/Console Pin Gate/Console Pin Freshness/Test Core/Dogfood Regression Gate均success,无failure、无遗留in_progress。门禁均在⚠️ 一个实测到的坑:
git add之后运行。check-adr-0087-registration.mjs读的是 committed 状态(git show HEAD:加路径),不是工作区 —— 只git add不 commit 会让它继续判红。关于 turbo 缓存的如实记录:同一 worktree 两次实测给出相反的结论 —— 首跑(全新 worktree,缓存冷)
Cached: 3 cached, 125 total,耗时 7m35.886s;补完标记后二跑Cached: 125 cached, 125 total,477ms,FULL TURBO。所以「零 TS 改动 ⇒ FULL TURBO」只在缓存已热的 worktree 成立,全新 worktree 的首跑仍是全量。未做、且是有意未做的一步
scripts/bump-objectui.sh结尾提示 pin 移动后应跑pnpm sdui:manifest(ADR-0082 D4 声明奇偶棘轮,#5960 定为按需门禁、刻意不进 CI)。本 PR 没有跑它:它需要 Playwright chromium 并完整构建一次 objectui,且其产物/基线落在本单允许的两个文件之外。按 #5960 的定位这是 pin 移动后的独立维护步骤(docs/releases-maintenance.md→ "After the pin moves"),在此记录以免它被这次 bump 静默吞掉。