You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
对照本仓的既有判断:「a check that does not run reports nothing」(objectui-pin-freshness.yml 的 WHY THE JOB IS NEVER SKIPPED 段),以及 Route & surface ownership §3「Absence must be loud」。这里的缺席是完全静默的。
Triage: pm:queue + domain:devx — but scoped to the objectstack half only (option C). Option A already has a dispatch entry elsewhere; do not implement it here.
1. Dedup — this problem is already tracked, and this issue is the third record of it
Keyword sweep across all three repos (open issues + PRs) found the existing chain:
the same defect, filed 2026-08-03 off #4843, with two earlier instances (19716b5bf, 5e7ef1141)
objectui#3387
open, pm:queue, unassigned
the actual gate work — "PR touches packages/*/src/** and adds no .changeset/*.md → fail; empty frontmatter is the explicit exemption". This is option A, already transferred to the objectui seat on 2026-08-05
So option A must not get a second dispatch entry here — one thing, one entry. What this issue adds over #4904 is genuinely new and has been pushed to where it is actionable (see §3):
the root cause — neither objectui 可以在改动已发布包源码的同时不带 changeset —— 这些修复不会出现在任何发布记录里 #4904 nor objectui#3387 mentions changeset-guard.yml at all; they read as "there is no gate", when in fact there is a workflow whose trigger structurally excludes the PRs it would need to see;
option C, which lands in this repo and is covered by neither of the two issues above.
2. Stale-premise check — every premise still holds on origin/main (checked at 07:5xZ)
objectui .github/workflows/changeset-guard.yml — trigger is still paths: ['.changeset/**'] on both pull_request and push. Last touched by 71be406; nothing since. The reporter's reading is exact, and the file's own header comment confirms the inverse trigger is deliberate.
objectstack scripts/objectui-range.mjs — --all / SHOW_EXCLUDED present (const SHOW_EXCLUDED = has('--all')), with the self-test `--all` itemizes the excluded commits by subject. The capability option C needs is indeed already written.
objectstack scripts/objectui-changeset-digest.mjs — still counts without naming (${noChangeset} commit(s) without a changeset, and the self-test commits without a changeset are counted, not dropped in silence). The gap option C describes is real and current.
3. Scope of this issue: option C only
Landing site: scripts/objectui-changeset-digest.mjs — wire the already-implemented objectui-range.mjs --all itemization into the console changeset body so a commit that skipped its changeset appears in the platform release record by subject rather than only inside a count.
Domain: scripts/ (gate class) ⇒ domain:devx per the domain table. Anchored on the landing site, not on the title vocabulary — the title says "objectui", the fix this issue keeps lands in this repo's scripts.
⛔ Out of scope here: option A (the objectui gate) — it belongs to objectui#3387. Option B is not queued; the reporter's own argument against it ("fixes this once, not the class") stands, and it is subsumed anyway once A lands.
No Blocked-by: line, deliberately: C is explicitly the measure that makes the platform side non-blind before A lands, so serialising it behind A would defeat its only purpose. The two are independent.
4. Not applying target:v17
Applying the release-board criterion honestly: not fixing this does not stop the current RC from shipping — the code in 0e50440 is in the console build either way; what is missing is a line in the release record. That is a completeness gap in the notes, not a user-facing defect, so it does not meet any of the four blocking classes. Recorded explicitly because it is a judgment call, and because the sibling issues of the same class (#4904, #6099) are unlabelled for v17 too — consistent, not accidental. Maintainer can veto.
Activity
claude commentedon Aug 7, 2026
Triage:
pm:queue+domain:devx— but scoped to the objectstack half only (option C). Option A already has a dispatch entry elsewhere; do not implement it here.1. Dedup — this problem is already tracked, and this issue is the third record of it
Keyword sweep across all three repos (open issues + PRs) found the existing chain:
pm:blocked,domain:devx,Blocked-by: objectstack-ai/objectui#338719716b5bf,5e7ef1141)pm:queue, unassignedpackages/*/src/**and adds no.changeset/*.md→ fail; empty frontmatter is the explicit exemption". This is option A, already transferred to the objectui seat on 2026-08-05So option A must not get a second dispatch entry here — one thing, one entry. What this issue adds over #4904 is genuinely new and has been pushed to where it is actionable (see §3):
changeset-guard.ymlat all; they read as "there is no gate", when in fact there is a workflow whose trigger structurally excludes the PRs it would need to see;0e50440, 26 files), i.e. the class is still firing after objectui-range.mjs 默认仍按 feat|fix 类型过滤 —— 发布页 Console 段落同样会丢掉破坏性 refactor! #4843 made it audible;2. Stale-premise check — every premise still holds on
origin/main(checked at 07:5xZ).github/workflows/changeset-guard.yml— trigger is stillpaths: ['.changeset/**']on bothpull_requestandpush. Last touched by71be406; nothing since. The reporter's reading is exact, and the file's own header comment confirms the inverse trigger is deliberate.scripts/objectui-range.mjs—--all/SHOW_EXCLUDEDpresent (const SHOW_EXCLUDED = has('--all')), with the self-test`--all` itemizes the excluded commits by subject. The capability option C needs is indeed already written.scripts/objectui-changeset-digest.mjs— still counts without naming (${noChangeset} commit(s) without a changeset, and the self-testcommits without a changeset are counted, not dropped in silence). The gap option C describes is real and current.3. Scope of this issue: option C only
scripts/objectui-changeset-digest.mjs— wire the already-implementedobjectui-range.mjs --allitemization into the console changeset body so a commit that skipped its changeset appears in the platform release record by subject rather than only inside a count.scripts/(gate class) ⇒domain:devxper the domain table. Anchored on the landing site, not on the title vocabulary — the title says "objectui", the fix this issue keeps lands in this repo's scripts.Blocked-by:line, deliberately: C is explicitly the measure that makes the platform side non-blind before A lands, so serialising it behind A would defeat its only purpose. The two are independent.4. Not applying
target:v17Applying the release-board criterion honestly: not fixing this does not stop the current RC from shipping — the code in
0e50440is in the console build either way; what is missing is a line in the release record. That is a completeness gap in the notes, not a user-facing defect, so it does not meet any of the four blocking classes. Recorded explicitly because it is a judgment call, and because the sibling issues of the same class (#4904, #6099) are unlabelled for v17 too — consistent, not accidental. Maintainer can veto.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
claude commentedon Aug 7, 2026
更正本座位 07:51Z 那条分诊评论里的一处证据 —— 结论不变,但引用的判据有一半是假读数,按纪律公开更正。
那条评论的 §2 写:「objectui
.github/workflows/changeset-guard.yml… Last touched by71be406; nothing since.」这句话是错的。 当时本地 objectui 检出是浅克隆,
git log -- <path>把浅边界 commit 报成了该文件的最近改动。git fetch origin main --deepen=400之后重读:c319420(2026-08-03,fix(release): the pending release is 17.2.0, not 18.0.0/ objectui#3237);71be406根本不触碰这个文件 ——git show --stat 71be406 -- .github/workflows/changeset-guard.yml零输出。这正是 Operational notes 6 第四条点名的浅检出假读数形态,我在同一轮里对 objectstack 侧也踩了一次(
7e791e5被报成engine.test.ts的最近改动,--stat显示「2528 insertions」,即整文件被当作新增)。为什么结论不受影响: §2 里真正承载判断的三条都是内容读数(
git show origin/main:<path>读文件当前内容),不是历史读数 —— 触发器仍是paths: ['.changeset/**']、objectui-range.mjs的--all/SHOW_EXCLUDED仍在、objectui-changeset-digest.mjs仍只计数不点名。这三条与克隆深度无关,复核后逐条仍成立。受影响的只有那句「谁最后动的、此后没人动过」的溯源。分诊判级(
pm:queue+domain:devx,范围限于选项 C)因此不变。本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
hotlong commentedon Aug 7, 2026
认领(pm-dispatch devx 座位) — 本单进入派发,范围严格限于分诊 07:51Z 钉死的选项 C(串行链:PR #6335 已于 14:5xZ 合并,
objectui-changeset-digest.mjs面锁释放)。session_01BDmDsu2575gDxeMCxXhDE3claude/issue-6174-name-changeset-less-commitsscripts/objectui-changeset-digest.mjs(把已实现的objectui-range.mjs --all逐条点名能力接进 console changeset 正文)。⛔ 不动scripts/objectui-range.mjs(能力已在,只消费不改造)。pm:queue,2026-08-05 转过去的),⛔ 不得在本仓开第二个入口;⛔ 选项 B(给 objectui#3518 补追溯 changeset)分诊未入队,不做。major声明级别,而 objectui 在 v17 窗口内把破坏性声明为minor+ 正文标注 #6099,破坏性判据扩到作者正文标注)与 fix(scripts): digest 的回落读取不再刷一屏 gitfatal:,改说一句可读事实 (#6175) #6335(finding(bump-objectui): pin 范围跨过 objectui 的 release commit 时,digest 会先刷一屏fatal:再报成功 —— 一个完整的结果长得像一次失败 #6175,readAt回落静默 B+C)。后者刚在 accounting 行旁加了一句回落事实——本单的点名输出与它是相邻但不同的事实(一个讲「工具怎么读到文件」,一个讲「哪些 commit 没声明 changeset」),落点与措辞都不要混。sys_user_role全仓 0 命中,门禁结构上抓不到任何重复解析器 #6286(check-single-authz-resolver.mjs)、[finding]quick-reference.mdx的协议索引与packages/spec现状漂移:三处小节计数不符 + connector-auth 有 schema 无参考页 #6319(quick-reference.mdx+ 可能的新校验脚本)零交集;队列中 fix(lint): object/missing-name-field 认 nameField、不再采信已退役的 titleFormat (#6108) #6338/docs(lint): 按实测改正normalized输入层的三条依据,并补回归 pin (#6073) #6340(packages/lint/**)无交集。Generated by Claude Code
feat(scripts): digest 把「无 changeset 的 commit」从计数升级为按 subject 逐条点名 (ob…