diff --git a/.claude/skills/pm-dispatch/SKILL.md b/.claude/skills/pm-dispatch/SKILL.md index 15cd153fba..5f89db0ecb 100644 --- a/.claude/skills/pm-dispatch/SKILL.md +++ b/.claude/skills/pm-dispatch/SKILL.md @@ -497,7 +497,7 @@ not-reachable 是设计非故障(维护者 2026-08-11 裁定)⛔ 不复测;**接 **ACCEPT 之后的路径分叉(动手之前先分,不是事后对照)。** 翻 ready / 挂 auto-merge / 入队前,先 取一次 PR 的路径面(`get_files`,⛔ 不看报告自述)。路径面**一条命中** `docs/adr/**`、 `.claude/skills/**` 或 `skills/**` ⇒ ACCEPT 换终局三件套:① 复核结论照常写在 issue 上(不能 -合 ≠ 不复核);② PR 留给维护者 —— ⛔ 不合并不入队不挂auto-merge,必须**看得见地悬着**;③ 轮次报 +合 ≠ 不复核;条款①技能面 PR 的复核席本身须跑在契约复审档位 —— 以 dispatch-gates 常量 `CONTRACT_REVIEW_TIER` 为准,档位单源不写模型名);② PR 留给维护者 —— ⛔ 不合并不入队不挂auto-merge,必须**看得见地悬着**;③ 轮次报 告单列「awaiting a human merge」(「等人来合」与「被忘了」在 GitHub 上长得一模一样)。混 合 diff 一条命中就分叉,⛔ 不按比例判;要拆就让 dev 单独开 PR;已入队才读到本条 ⇒ 撤回只有 转 draft。路径面干净的才转 ready → 入队(队列是唯一被认可的落地路径,⛔ 永不队列 diff --git a/.claude/skills/pm-dispatch/references/platform-readings.md b/.claude/skills/pm-dispatch/references/platform-readings.md index 341368a107..de465d25c4 100644 --- a/.claude/skills/pm-dispatch/references/platform-readings.md +++ b/.claude/skills/pm-dispatch/references/platform-readings.md @@ -58,8 +58,8 @@ - **MCP 参数两陷阱**:`list_issues` 多标签过滤是 **OR(并集)**不是 AND —— 双标签 查询混入别车道同状态卡与本车道全状态卡,结果良构、规模合理,失效全静默;正确读 法 = **整车道单标签一次读全 + 本地对 labels 求交**(正确性要求,不是风格偏好)。 - `issue_write` 的 `labels` 是**整组替换**不是追加 —— 不先读现值合并再写会静默剥 - 掉别的标签;真追加走 REST `POST /issues/{n}/labels`;写后照标签纪律回读。 + `issue_write` 的 `labels` 是**整组替换**不是追加 —— 写标签前**同一动作内**重读现 + 值合并再写,隔轮/隔小时的旧读数视为无效快照(按其回写会静默剥掉别的标签);真追加走 REST `POST /issues/{n}/labels`;写后照标签纪律回读。 - **`list_issues` 永不返回 assignees**(`fields` 枚举无此成员;不传 `fields` 也没 有)—— 已认领卡与空闲卡在响应里逐字节相同,车道清单因此回答不了「哪张能认领」, 失效完全静默。清单只是**候选名单**:每一条在认领前必须过一次完整 `issue_read`