From b1cf1e9e956f16dc13b753d3158d21aa0469739e Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 22 Sep 2026 03:16:42 +0000 Subject: [PATCH] docs(agents): the skip-changeset label is never applied to a PR that edits an existing changeset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Carries the ruling's remaining half into the two `.claude/**` instruction surfaces, matching the workflow text that already landed: for a PR whose `.changeset/*.md` rows are ones it changed rather than added, the label is not the channel and is not applied; the confirmation is written text on the PR (the maintainer's own word, or a seat carrying it with 出处三件); the gate stays advisory red, and staying red is the point. Both files sit at their line ceiling with zero headroom, so each new line is paid for with a deletion in the same file rather than a ceiling raise: - `.claude/agents/os-dev.md` drops a pure cross-reference whose rule is stated in full, by name, in the section it points at. - `.claude/skills/pm-dispatch/SKILL.md` drops a three-item index whose every item is expanded, with more detail, in `references/review-checklist.md` — the file the same block makes mandatory for every report. `skip-changeset` 唯一判据 also stops saying 唯一: the ruling gives the criterion an overriding class, so the word was falsified by this change. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01UDXER3sdqfeVYpEWZs5mZx --- .claude/agents/os-dev.md | 4 ++-- .claude/skills/pm-dispatch/SKILL.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.claude/agents/os-dev.md b/.claude/agents/os-dev.md index 129e77273e5..7fceb4807e4 100644 --- a/.claude/agents/os-dev.md +++ b/.claude/agents/os-dev.md @@ -117,7 +117,6 @@ model: opus - 缺一种该文件没有的 double 时,覆写文件里已有的 double 优于 pin 新的:不动台账。 - 匹配到零个脚本的 `pnpm --filter` 运行以 0 退出:什么都没跑,读上去却是通过。 - objectui 把 typecheck 拼作 `type-check`(连字符);核对输出里确实回显了脚本名。 -- 退出码先重定向再捕获,⛔ 永不隔着管道下结论(见本地验证范围节)。 - 浏览器验证:Chromium 已预装,`PLAYWRIGHT_BROWSERS_PATH` 指向 `/opt/pw-browsers`。 - launch 传 `executablePath: '/opt/pw-browsers/chromium'`;⛔ 永不跑 `playwright install`。 - `cdn.playwright.dev` 的 403 不是没有浏览器的证据:下载被拦不证明产物缺席,先找产物。 @@ -295,9 +294,10 @@ model: opus - 密度优化只随净减内容的 PR;分界只问折行有没有为新增内容买行。 - ⛔ 不把不买内容的密度修复当筹行拒掉;删不出等量内容 ⇒ 报 `blocked`,⛔ 不抬 ceiling。 - 例外:派发令点名测量优先的零余量受管账本 ⇒ 落行、不动上限行、红着报实测行数。 -- 发布面动了要 changeset;`skip-changeset` 唯一判据是没动:已发布 = 各包 `files[]` 实际发运内容。 +- 发布面动了要 changeset;`skip-changeset` 判据是没动:已发布 = 各包 `files[]` 实际发运内容。 - 快速通道:`docs/adr/**` · `.claude/**` · `scripts/pm/**` · 仓根配置 · 私有包 · 注释,不发布。 - 其余实测:构建后 grep `files[]` 所列路径找符号,带正控;符号零命中、正控命中 ⇒ 不发布。 +- PR 改到已有的 `.changeset/*.md`:⛔ 永不打 `skip-changeset`,门禁红着是对的,确认走 PR 文字。 - objectstack:标签是真实机制,打标签是你的默认步骤,PR 一开出就打;派发词可收窄或禁写。 - 范围 = 派发词点名的标签 + 上文判据下的 `skip-changeset`;禁写或交集为空 ⇒ 零写并报告。 - `needs:contract-review` 归席位,⛔ 不挂不摘不等;报 PR 上有无与 `--pair PR-NUMBER` 退出码作读数。 diff --git a/.claude/skills/pm-dispatch/SKILL.md b/.claude/skills/pm-dispatch/SKILL.md index 16546f68a7d..94ad351f3f7 100644 --- a/.claude/skills/pm-dispatch/SKILL.md +++ b/.claude/skills/pm-dispatch/SKILL.md @@ -602,9 +602,9 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - 逐项判据展开在 `references/review-checklist.md`,每份报告对着它过。 - PR 形态与范围:draft、目标 `main`、`Fixes`/`Part of` 首行判据,翻 ready 前亲核。 - `Part of` 卡 MERGED 时点收口;changed files 范围与 changeset/`skip-changeset` 分流;测试证据。 +- 改到已有 `.changeset/*.md` 的 PR ⛔ 不打 `skip-changeset`;确认取维护者原话或出处三件转述。 - 报告在草稿 PR 时点到达,CI 收敛读数只属于复核侧:gate `in_progress` 是诚实读数。 - 绿色输出≠ 该绿证明了被测风险:拒收断言、全绿方向与时序、pin 翻转、边界后收益。 -- 删除与二进制:死代码删除亲核引用面;`+0/-0` 先疑 NUL;sweep 范围外产出成组列出。 - 触 `skills/**` 的 PR 加问整包价值密度:从整包加载的客户 agent 座位读,⛔ 不从作者座位读。 - 超派发预算或小功能大扩写 ⇒ REWORK,⛔ 不因已经写好了放行。 - 判决 ACCEPT:issue 英文短评论,核对清单结论 + 抽查读数 + 偏差,链接 PR,⛔ 不复述其叙事。