From 9f1bb819d4dad11a4abc72b51a7732380cd67045 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 13 Sep 2026 15:40:48 +0000 Subject: [PATCH 1/3] docs(agents): the filer attaches dedupe keywords instead of scanning the board MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `os-dev.md` rule 3 still told the dev to dedupe before filing — a targeted REST scan of open issues, with an MCP `search_issues` fallback. The triage ruling moved dedupe to the triage seat and left the filer with keywords only, verbatim and untranslated: 「立卡者不查重,只在卡面附 3–5 个查重词」 The line now states that rule: no dedupe by the filer, 3–5 keywords on the card, never a board pull. Net 0 lines (403/403), 115 bytes against the 120-byte cap. Claude-Session: https://claude.ai/code/session_01DAcomhvR9kKizeYgg89Vo8 Co-authored-by: Claude --- .claude/agents/os-dev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.claude/agents/os-dev.md b/.claude/agents/os-dev.md index 503ea88a33..5201cc8d80 100644 --- a/.claude/agents/os-dev.md +++ b/.claude/agents/os-dev.md @@ -47,7 +47,7 @@ model: opus - 其余 ⛔ 不立卡:观察、死代码、未演练漂移、抛光、风格、文档 nit、命名。 - 它们进 PR `## Acceptance notes`,报告 `out_of_scope_findings` 记 `noted, not filed: …`,席位 ACCEPT 读。 - 写 `noted, not filed` 前先答哪一个 PR 或人会碰到这个文件;答不出就写明「承接者:无」。 - - 先搜再立:关键词 + 文件路径扫 open issues;并行 dev 同一小时立的卡只有这一搜能看见。 + - 立卡者不查重,只在卡面附 3–5 个查重词;查重归分诊席,⛔ 不扫 open issues、不拉板。 - 通道先探后选:同容器先测一条 repo-scoped REST 读;通 ⇒ 走 REST 列表端点 + 本地 grep。 - 通道对照表见 `.claude/skills/pm-dispatch/references/rest-channel.md`,其 ✓ 按座位实测。 - 403 ⇒ 改用一次定向 MCP `search_issues`,并在报告申报换道。 From 22c17fd1e5b7bd678311a3e7e37c14974b543e3d Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 13 Sep 2026 15:41:19 +0000 Subject: [PATCH 2/3] docs(pm): the state-model rows stop offering a re-route an in-flight card cannot take MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two rows in 〈状态模型〉 lagged bullets that landed with the charter rules layer. The assignee row listed 跨车道移交 as a fourth release cause, and the `pm:retriage` row offered 跨域 PR 指定车道 and 改路由 with no pre-dispatch qualifier — while the landed bullet reads 「`pm:retriage` 改路由只对未派发卡」 and its neighbour holds a claimed card to 认领即跟到 MERGED, the cross-lane surface reviewed in place (contract-review.md: 借复核不移卡). The governing ruling, verbatim and untranslated: 「C. approve 后不管后续改动都由席位落地:」 — ownership follows the claim through to landing, so a lane handover is not one of the ways an in-flight card leaves its seat's hands. The assignee row now carries three causes with 改路由 qualified 限未派发, and the retriage row says 定车道与改路由限未派发卡. Net 0 lines (812/812), widest table row unchanged at 342 B (L244), the two edited rows 235 B and 269 B, 〈决策分析四轴〉 frame block L733-754 md5 3327d02c56f8a0eca88569dad2270f32 byte-unchanged. Claude-Session: https://claude.ai/code/session_01DAcomhvR9kKizeYgg89Vo8 Co-authored-by: Claude --- .claude/skills/pm-dispatch/SKILL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/skills/pm-dispatch/SKILL.md b/.claude/skills/pm-dispatch/SKILL.md index 881b23c903..4e56d877b5 100644 --- a/.claude/skills/pm-dispatch/SKILL.md +++ b/.claude/skills/pm-dispatch/SKILL.md @@ -103,14 +103,14 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 | issue 上的信号 | 含义 | |---|---| | open + 队列标签 + 无 assignee | 可派发(同卡带 `pm:retriage` 的除外);`pm:queue` 卡恒无 assignee,有即半态 | -| assignee 已设 | 已认领/在飞,不是你的就永不碰;离手恒走释放 —— 四因 = 改路由、前提证伪、弃飞无接管、跨车道移交,去向 = 新标签态或车道;⛔ 不静默摘 assignee | +| assignee 已设 | 已认领/在飞,不是你的就永不碰;离手恒走释放 —— 三因 = 改路由(限未派发)、前提证伪、弃飞无接管,去向 = 新标签态或车道;在飞卡跟到 MERGED,⛔ 不静默摘 assignee | | `pm:dispatched` | 已派发(派发评论记轮次),恒带 assignee;与摘 `pm:queue` 同一次标签写入成对落地 | | `needs-user-decision` | 决定待做:永不派发、除代裁通道外永不代答;维护者的收件箱 | | `pm:on-hold` | 决定已做且答案是暂不做:不派发不催;仅当带机器可读 `Restart-when:` 行才合法 | | `pm:blocked` + 正文行 `Blocked-by: #N` | 等上游:选择期跳过,#N 关闭时由解锁扫描放回;工已完、PR 被外部门禁卡住的同用本态 | | `pm:awaiting-maintainer` | 决定已做,只剩一次 GitHub 之外的人工动作:不派发不催;与其它 pm 状态标签互斥;入态恒带行首 `Maintainer-action:` 行(细则见 `references/state-machine.md`),无行即半态 | | `pm:blocking` | 有 open 下游依赖者(自 `Blocked-by:` 索引推导的缓存,⛔ 不手工挂);进选择全序 | -| `pm:retriage` | 向分诊提问(改判、跨域 PR 指定车道、改路由、拆卡、裁 dev 报告留下的分叉),异议评论写明所求;与现行 `pm:*` 并存、⛔ 不摘原标;带本标签的 `pm:queue` 卡跳过派发 | +| `pm:retriage` | 向分诊提问(改判、跨域 PR 指定车道、改路由、拆卡、裁 dev 报告留下的分叉),定车道与改路由限未派发卡,异议评论写明所求;与现行 `pm:*` 并存、⛔ 不摘原标;带本标签的 `pm:queue` 卡跳过派发 | | `finding` | 立卡三类内待首次定级,定级即离标;三类外关 not planned;不占队列不进收件箱 | | `target:` | 发版阻塞:每个 backlog 恰好一个生产者 | | `pm:epic`(父单或 sub-issue) | 已由 epic PM 保留;其它 PM 永不取;⛔ 永不与 `pm:queue` 同挂 | From ac73575cf11448cf384f97cc8d2560058b3d83d3 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 13 Sep 2026 15:41:35 +0000 Subject: [PATCH 3/3] docs(pm): the ui lane's governed-surface hit ends at an approval, not at a human merge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Line 25 read a governed-surface hit as unconditional draft-until-a-human- merges, with 不留批准 next to it. The ruling that landed with the charter rules layer says otherwise, verbatim and untranslated: 「C. approve 后不管后续改动都由席位落地:」 Once an authorized APPROVED review exists on a governed PR, the owning seat lands it; the draft hold applies only until then. The ban that survives is the one on the seat approving — never on the seat landing what an authorized account already approved. Net 0 lines (38/38); the line is 118 bytes against the 120-byte cap and is still the file's widest. Claude-Session: https://claude.ai/code/session_01DAcomhvR9kKizeYgg89Vo8 Co-authored-by: Claude --- .claude/skills/pm-dispatch/references/lanes/ui.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.claude/skills/pm-dispatch/references/lanes/ui.md b/.claude/skills/pm-dispatch/references/lanes/ui.md index c4fea1515d..e90bab77a8 100644 --- a/.claude/skills/pm-dispatch/references/lanes/ui.md +++ b/.claude/skills/pm-dispatch/references/lanes/ui.md @@ -22,7 +22,7 @@ - 凡触 `packages/spec` 一律转 `domain:spec` 座位,见 SKILL.md 〈多仓协调〉。 - `scripts/pm/**` 单写手恒在 objectstack 侧 ⇒ 本席的工具需求走上游卡带 `Blocked-by:` 回链。 - 受管面五项含仓根发布 `skills/**`,清单、判据与禁令见 objectui AGENTS.md §9 受管面段。 -- ⇒ 命中即整 PR 停在 draft 等人合,⛔ 不 ready、不入队、不 auto-merge、不自合、不留批准。 +- ⇒ 命中即停 draft;⛔ 未获授权批准不 ready 不入队不自合、永不批准,获批后认领席落地。 - 未命中的 PR 按同节走合并队列落地;changeset 与版本纪律见 objectui AGENTS.md §9。 - 半状态巡查在本仓有载体:定时 workflow 与 sweeper 皆在,自 objectstack 移植。 - 锚 issue 未配置 ⇒ 写锚步骤 skip,发现只落 run summary,绿不等于已交付读锚腿。