Skip to content

Commit 59ec4aa

Browse files
os-zhuangclaude
andauthored
pm-dispatch: make the skip-changeset review clause repo-conditional (#8970) (#9100)
Mirror the dev-side repo-conditional fix onto the two PM-side review texts that still taught the label unconditionally: - SKILL.md review skeleton: this repo's skip-changeset label is the real mechanism; objectui has no such label — an empty-frontmatter changeset is the tests/docs-only declaration, never mint the label there. - references/review-checklist.md scope-check bullet: fix the double inversion — for objectui the empty changeset IS the correct form and the label is a false mechanism; the release-stall parenthetical is scoped as a this-repo fact. Both files sit at ratchet headroom 0; the added lines are funded by pure rewrap (SKILL.md anchoring-rule blockquote 4->3; review-checklist bullets with near-empty trailing lines), zero wording change in the funding lines. Net line counts unchanged: 686/686 and 82/82. Claude-Session: https://claude.ai/code/session_017TNzEetykdh7ceZGwuAPLq Co-authored-by: Claude <noreply@anthropic.com>
1 parent 1b51c68 commit 59ec4aa

2 files changed

Lines changed: 14 additions & 14 deletions

File tree

.claude/skills/pm-dispatch/SKILL.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,9 @@ UI 创建并勾 GitHub 连接器、UI 钉模型(会话内 create_trigger 的Rout
173173

174174
**Anchoring rule(全案压在这一句上):**
175175

176-
> Every package belongs to exactly **one** domain; an issue's `domain:*`
177-
> label is the domain of **the package the fix lands in**, decided at triage
178-
> by reading the code — **never guessed from the issue's title vocabulary**.
179-
> 说不出修复碰哪个文件,就还没分诊完,就不可标。
176+
> Every package belongs to exactly **one** domain; an issue's `domain:*` label is the domain
177+
> of **the package the fix lands in**, decided at triage by reading the code — **never guessed
178+
> from the issue's title vocabulary**. 说不出修复碰哪个文件,就还没分诊完,就不可标。
180179
181180
| 标签 | 包家族 |
182181
|:--|:--|
@@ -473,8 +472,9 @@ You are the reviewer of record —— **对 GitHub 核验,不对报告的自述
473472
- **PR 形态与范围**:draft、目标 `main`、首行 **`Fixes #<n>` 仅当合并应当关卡** ——半实施必
474473
`Part of #<n>`,否则合并静默关掉决策箱里的卡(收件箱过滤只看 open);翻 ready 前亲核首行。
475474
**`Fixes` 卡随关单自动离开在飞视图,`Part of` 卡合并后仍开着**:MERGED 的同一动作里摘
476-
`pm:dispatched` 换回 `pm:queue`(或按剩余物定级)+ 评论写明已交付/还剩/归谁。changed files
477-
范围检查(⛔ 不看报告自述);tests/docs-only 走`skip-changeset` 标签;测试证据要真实命令与输出。
475+
`pm:dispatched` 换回 `pm:queue`(或按剩余物定级)+ 评论写明已交付/还剩/归谁。changed files 范围
476+
检查(⛔ 不看报告自述);tests/docs-only 按仓库分流:本仓库 `skip-changeset` 标签是真实机制;
477+
objectui 无此标签,空 frontmatter changeset 即声明,⛔ 永不铸标签;测试证据要真实命令与输出。
478478
- **报告在草稿 PR 时点到达,CI 收敛读数只属于复核侧**(维护者 2026-08-10 裁定): gate
479479
`in_progress` 是诚实读数;翻 ready / 挂 auto-merge / 入队前亲核门禁 job 结论,⛔ 不因「本地
480480
绿」跳过;收敛期转红走补丁轮(续派原 dev,不是 REWORK);重量级卡可在派发令写「本单等 CI」。

.claude/skills/pm-dispatch/references/review-checklist.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,28 +19,28 @@
1919
message 分开解析,细则见平台读数事实表);误关的卡以 completed 状态对一切「只看
2020
open」的过滤隐身,这一读是唯一能兜住它的机械检查。
2121
- **范围检查**(取 changed files,⛔ 不看报告自述):无 `content/docs/releases/`
22-
动、用户可见改动有 changeset、无与卡无关的文件。Tests/docs-only PR 走
23-
`skip-changeset` 标签,不走空 changeset(空 changeset 滞留发布);含读者可见生成产
24-
物时 dev 选 changeset 是对的 —— 以 PR 正文说明的理由为准,两条路都有效,别来回改。
22+
动、用户可见改动有 changeset、无与卡无关的文件。Tests/docs-only 按仓库分流:本仓
23+
库走 `skip-changeset` 标签、不走空 changeset(空 changeset 在本仓库滞留发布);
24+
objectui 无此标签 —— 空 frontmatter changeset 即声明、即正确形态,⛔ 永不要求或
25+
铸出该标签;含读者可见生成产物时 dev 选 changeset 是对的 —— 以 PR 正文说明的理
26+
由为准,两条路都有效,别来回改。
2527
- **就地修了范围外的邻接缺陷?**四条件逐条核(同缺陷类·机械·文件无他人认领·同门禁
2628
族),再核 claim 文件面同轮已修订、PR 正文点名该修并载证据;缺一条即判 REWORK。
2729
- **改动触及的每个包,`private: false` 即已发布 ⇒ 核 changeset 在不在**:判据是包
2830
的发布状态(读 `package.json`,十秒),不是改动大小,也不是「用户可见」的感觉判
2931
断 —— 那个判断 dev 在时间压力下会乐观化。⛔ 缺了不入队 —— 合进 main 却永不发
3032
布,看起来像修好了,比不合更糟。
3133
- **测试证据**要有真实命令与通过输出,不是一句 tests pass。**测量类交付先看阳性对
32-
**:对照本身失败 ⇒ 该读数记 INCONCLUSIVE,⛔ 不把它的「绿」当被测风险的证据入
33-
账。
34+
**:对照本身失败 ⇒ 该读数记 INCONCLUSIVE,⛔ 不把它的「绿」当被测风险的证据入账。
3435
- **CI 收敛读数只属于复核侧**(维护者 2026-08-10 裁定;dev 的契约是草稿 PR 时点交
3536
报,报告里 gate `in_progress` 是诚实读数、预期内常态):翻 ready / 挂 auto-merge
3637
/ 入队前亲核 ESLint 与 TypeScript Type Check 两个 job 的 `conclusion` 已为
3738
`success`(门禁族跑在其内),⛔ 不因报告写了「本地绿」跳过。收敛期转红走补丁轮
3839
(SendMessage 续派原 dev —— 那是这笔交换已付过的价钱,不是 REWORK 的理由;红着
3940
合并才是)。重量级卡可在派发令显式写「本单等 CI」。
4041
- **每个门禁读数先钉到 PR 的当前 head**:先读 PR 的 `head.sha`,再比对 run 的
41-
`head_sha` —— 不一致的 run 是关于一个死提交的读数,绿与红**双向都不入账**(旧
42-
head 的绿把「新推送未验」读成「消费者干净」,旧 head 的红把已修掉的缺陷重新挂回
43-
PR)。
42+
`head_sha` —— 不一致的 run 是关于一个死提交的读数,绿与红**双向都不入账**(旧 head
43+
的绿把「新推送未验」读成「消费者干净」,旧 head 的红把已修掉的缺陷重新挂回 PR)。
4444
- **dev 本地跑的门禁并集,同样先钉 head —— 同一条纪律**:dev 的契约要求在**最后一
4545
次提交之后**跑并集,并把那一跑的 `git rev-parse --short HEAD` 抄进报告与 PR 正
4646
文;复核就读这个 HEAD 与 PR 当前 `head.sha` 比一次。对不上 ⇒ 那份「本地全绿」是

0 commit comments

Comments
 (0)