Skip to content

Commit ae96af9

Browse files
committed
docs(pm-dispatch): reconcile the four surviving lines that contradicted the door
Round 2 of the at-tier review (record 5758683730, item 2). In-place rewrites only; every ceiling stays at headroom 0 and the new reference file's ceiling comes down with it. - SKILL.md:187 — the filer runs the dedupe query and writes it with its hit count, closed cards included; triage still owns the verdict. Its twin at core-rules.md:80 already carried the door's wording. - SKILL.md:241-242 and core-rules.md:61 — a cross-seat request rides on the existing card it concerns: `Blocked-by:` on the requesting card and one comment on the target's, naming the seat and the step. A new card only when no existing card carries the work and the request is itself door class ①②④. The inverted 「评论是加速器不是记录」 phrase is gone from both sides. - SKILL.md:310 and :785 — a 顺带发现 becomes a card only through the door. - The door's classes are ①②③④ everywhere, so they no longer share letters with `finding`'s (a)(b)(c); core-rules.md:87 now reads as the `finding` sub-rule inside door class ①, not as a second door. - os-dev.md:51 carried the same 「立卡者不查重」 claim and is rewritten too. - filing-gate.md's provenance block shrinks from five lines to two, keeping both maintainer sentences verbatim. Claude-Session: https://claude.ai/code/session_012GcsUbuqFGBibkEDMRC1eE Co-authored-by: Claude <noreply@anthropic.com>
1 parent 34a97c4 commit ae96af9

5 files changed

Lines changed: 21 additions & 24 deletions

File tree

‎.claude/agents/os-dev.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ model: opus
4848
- 其余 ⛔ 不立卡:观察、休眠、零拉动、死代码、未演练漂移、抛光、风格、nit、命名。
4949
- 它们进 PR `## Acceptance notes`;报告 `out_of_scope_findings` 逐条带 `class: a|b|c`+证据或 `carrier:`。
5050
- `carrier:` = 将碰该文件的 PR 或人,答不出写「承接者:无」;皆无 ⇒ 只进 Acceptance notes。
51-
- 立卡者不查重,只在卡面附 3–5 个查重词;查重归分诊席,⛔ 不扫 open issues、不拉板。
51+
- dev ⛔ 不查重,只附 3–5 个查重词;查询与命中数由立卡席写,⛔ 不扫 open issues、不拉板。
5252
- GitHub 写一律走 REST 代理(`curl` 带 `GITHUB_TOKEN`);归属 = 文本里的 session ID,非 `user.login`。
5353
- 写预算四笔:`git push`、一次 `POST /pulls`(draft)、`POST /issues/{n}/labels`、`os-dev-report` 评论。
5454
- 卡与线程只走 payload 档(公开仓单卡网页内嵌 JSON,拼写住 platform-readings)或单卡 REST 读。

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
184184
- dev 自己死了不等于维护者中止:子代理消失是正常死法,走接管(见认领节)。
185185
- 维护者中止只认原话或宿主回报 stopped by the user,⛔ 不据推断立无重启条件的门。
186186
- 共享基础设施修复入队前按症状复查 main,不按 issue 号。
187-
- 立卡者不查重、只附 3–5 查重词;真撞上重复,先比数值与作用域再决定关哪个。
187+
- 立卡者自跑查重并写下查询与命中数(含 closed);判重仍归分诊,比数值与作用域定关哪个。
188188
- sweep 晋级与立卡的前提要对此刻的 main;dev 带证据的零实现停手是好产出,不当返工计。
189189
- 裁决明令的动作实施中测出对向事实 ⇒ 照字面执行,被打断行为的 pin 反转为拒绝 pin。
190190
- 对向事实下 ⛔ 同 PR 不做任何 promote/回退;pin 是反转不是删除。
@@ -238,8 +238,8 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
238238
- 认领即跟到 MERGED:派发后发现的跨车道面(含 spec)不移卡,认领席借契约复审档隔离复核。
239239
- 复核记录带 `Implemented-by:`/`Reviewed-by:`,自审机读可见;`pm:retriage` 改路由只对未派发卡。
240240
- 转移落对方队列:目标仓立单带 `pm:queue`、出处行与一行可执行判据,依赖用 `Blocked-by:`。
241-
- 任何跨座位请求都是工作(要读数、要开卡、要授权):一律立卡进目标车道队列。
242-
- ⛔ 座位贴敲门或裁决评论永不作跨座位请求的唯一载体;评论是加速器不是记录。
241+
- 跨座位请求骑在它所关的既有卡上:请求席在自卡写 `Blocked-by:`,并在目标卡留一条评论。
242+
- 该评论点名席位与步骤;无既有卡承载且请求自身即立卡门 ①②④ 时才立新卡。
243243
- 等待方同一笔把自卡翻 `pm:blocked` + `Blocked-by:` 指向请求卡;⛔ 不设新标签新 sweep。
244244
- 目标仓不可达是读数缺口,不是落点:由可达席在目标仓立卡,此前请求记座位贴或协调卡。
245245

@@ -307,7 +307,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
307307
- `pm:epic` + `pm:queue` 同卡 = 半状态(保留兼移交);后者即已移交,取回走全套认领协议含重读。
308308
- 单车道仓(无 `domain:*`)开卡即认领合法;多车道仓域标签前置照旧,子树标记即保留。
309309
- 新立 spec/公共契约 sub-issue 照旧转 spec 座位队列,epic 侧写 `Blocked-by:`;衍生按三分留席。
310-
- 顺带发现 ⇒ 独立立单进修复落地仓,附查重词;⛔ 不借 sub-issue 通道塞未分诊卡进池子。
310+
- 顺带发现只经立卡门:三类内缺陷才立,带查询与命中数;其余进 Acceptance notes 或座位贴。
311311
- 每次分流留一行审计评论;父单维护 checklist 汇总评论,决策仍锚在具体 sub-issue。
312312
- 收尾四步、僵尸回收与领地防撞细则见 `references/seat-post-protocol.md`。
313313

@@ -348,8 +348,8 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
348348
- 碰迁移形状或删已发布能力也进决策箱;说明书脱节不进:有裁定出处才是 (b),否则改文档。
349349
- 决策卡落卡必带四棱卡面块与其上的「维护者速读」,⛔ 不留待有人接手再补。
350350
- 决策卡的速读同题,用业务语言先讲事情与选项,末句只问一字:A/B/C 或是否。
351-
- 立卡门:只为四类立卡 —— 缺陷 / 维护者决定 / 直派任务 / 协调节点,⛔ 其余不立卡。
352-
- 正文首行写类别字母;四类定义、⛔ 清单、三答与配额见 `references/filing-gate.md`。
351+
- 立卡门四类:① 缺陷 / ② 维护者决定 / ③ 直派任务 / ④ 协调节点,⛔ 其余一律不立卡。
352+
- 首行写立卡门类别 ①–④;四类定义、⛔ 清单、三答与配额见 `references/filing-gate.md`。
353353
- `finding` = 三类内待定级:(a) 可复现缺陷(复现或失败探针);(b) 违背已声明契约(引契约文);
354354
- (c) AI 写元数据会被运行时拒收或静默丢弃的陷阱;其余进 PR `## Acceptance notes`,⛔ 不立卡。
355355
- (a) 的分界是不完整 vs 错误,不是文档 vs 代码:示例照抄即失败是 (a),漏列成员不是。
@@ -782,7 +782,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
782782
- `status: needs_decision` 时 `open_questions` 必须非空。
783783
- `out_of_scope_findings` 每条 `class: a|b|c`+证据,或 `carrier:`(承接者);皆无 ⇒ Acceptance notes。
784784
- dev 不立卡;ACCEPT 逐条一行 `filed #N`/`Acceptance notes`/`dropped — 因`;三类由席位立在修复仓。
785-
- 席位读 PR `## Acceptance notes`,实属三类的补立、归挂、附查重词;三类外已立卡关 not planned。
785+
- 席位读 PR `## Acceptance notes`,实属三类的经立卡门补立、归挂;门外已立卡关 not planned。
786786
- PM 核验它们存在,并把同轮并行报告互相对读:两个 dev 同一小时审相邻代码会立出孪生卡。
787787

788788
## 机械守卫索引

‎.claude/skills/pm-dispatch/references/core-rules.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
- 跨层功能点或跨仓 `Seam:` 卡拆成父单加逐层子单,下游带 `Blocked-by:`,上游未关 ⛔ 不派发。
5959
- pin 消费的仓派发前核 pin 是否已覆盖那个提交,发布包消费的仓判据是消费方可安装。
6060
- 上游未发版时转 hold ⛔ 不回队列;已验收产物流向另一仓由接受席立即立后续单。
61-
- 跨座位请求即立卡进目标车道,自卡翻 `pm:blocked`;阻塞项无主由被挡席认领,在飞即等。
61+
- 跨座位请求骑既有卡:自卡 `Blocked-by:` + `pm:blocked`,目标卡评论;无主被挡席认领,在飞即等。
6262
- 认领席跟到 MERGED,派发后的跨车道面不移卡、借隔离复核;新 spec 工作由 spec 席收口。
6363
## 域车道
6464
- 每个包恰好属于一个域,域标签 = 修复落地包的域,只决文件归属 ⛔ 非队列非优先级单位。
@@ -81,10 +81,10 @@
8181
- 两级盘点是小时轮读增量加每日全量对账,枚举须比对总数、不等即报不完整并点名缺口。
8282
- sweep 扫全裸卡、队列卡缺域或缺定级、域卡缺 pm 状态,排除跟踪、停放与协议载体卡。
8383
- 首触定级跑到清空 ⛔ 无总量预算、未跑完断点续跑;清得空最新优先,否则最老优先。
84-
- 立卡门四类外 ⛔ 不立卡;裸卡超十五张则下轮改域分批,每批不超过五张同族卡。
84+
- 立卡门 ①–④ 外 ⛔ 不立卡;裸卡超十五张则下轮改域分批,每批不超过五张同族卡。
8585
- 有落点或可复现的缺陷、实现未被裁错的说明书脱节进 `pm:queue`;工具卡另须带解锁行。
8686
- 设计卡、契约形状提案、碰迁移形状或删已发布能力的进决策箱;无出处说明书脱节不进。
87-
- 立卡限三类:今日可达可复现缺陷、契约违背、具名生产者陷阱;截断卡发修复指令不派。
87+
- 门 ① 内 `finding` 限三类:今日可达可复现缺陷、契约违背、具名生产者陷阱;截断卡不派。
8888
- 三类边界:缺陷问错不问缺、文档同判;元数据须他人再作者化;引向更糟的警告在类外。
8989
- 类型字段由分诊席唯一生产,违背已声明契约是缺陷、扩出已声明是功能、其余是任务。
9090
- 缺陷卡无具名落点或复现路径不入队列 ⛔ 不回填存量;每张卡留一条英文审计评论。

‎.claude/skills/pm-dispatch/references/filing-gate.md‎

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,21 @@
55

66
## 立卡门
77

8-
出处 —— 维护者 2026-09-21 逐字,不译:
9-
10-
> 刚才 os-sam 又被封号了,也是因为分诊批量处理issue的时候,所以现在 issue 太多对于车队是负担。 19546 我希望在创建issue 的环节就卡死,没必要的issue就不要创建。
11-
>
8+
> 出处,维护者 2026-09-21 逐字不译:刚才 os-sam 又被封号了,也是因为分诊批量处理issue的时候,所以现在 issue 太多对于车队是负担。 19546 我希望在创建issue 的环节就卡死,没必要的issue就不要创建。
129
> 之前封号的时候讨论过 issue 和 pr 应该使用 claude app 创建,名称应该是 claude(bot)
1310
14-
- 立卡只为四类,正文首行写出类别字母;⛔ 其余一律不立卡,不论它叫什么。
15-
- (a) 有具名落点或复现的产品缺陷,即 `pm:queue` 的定义。
16-
- (b) 只有维护者能做的决定,落卡即带「维护者速读」与四棱块。
17-
- (c) 维护者直派的任务,正文引其原话。
18-
- (d) 协调节点:跨仓/跨层父单与它的逐层子单。
11+
- 立卡只为四类,正文首行写立卡门类别 ①–④;⛔ 其余一律不立卡,不论它叫什么。
12+
- ① 有具名落点或复现的产品缺陷,即 `pm:queue` 的定义;其内的 `finding` 限三类。
13+
- ② 只有维护者能做的决定,落卡即带「维护者速读」与四棱块。
14+
- ③ 维护者直派的任务,正文引其原话。
15+
- ④ 协调节点:跨仓/跨层父单与它的逐层子单。
1916
- ⛔ 不是卡:仪器误报与门禁假读数(不派 dev 见 `references/instrument-discipline.md`)。
2017
- ⛔ 不是卡:席位自己的失误、协议观察与「记住这条」,它们进座位贴或收班简报。
2118
- ⛔ 不是卡:三类外的 `finding` —— 原为首触即关,今门前即拒。
22-
- ⛔ 不是卡:丢卡重建,除非它自身即 (a)–(d)。
23-
- ⛔ 不是卡:既有卡一条评论能承载的指针/知会/请求 —— 评论是加速器不是记录。
19+
- ⛔ 不是卡:丢卡重建,除非它自身即 ①–④。
20+
- ⛔ 不是卡:既有卡一条评论能承载的指针/知会/请求;那条评论即其记录。
2421
- ⛔ 不是卡:sweep 每 fire 重导的 pin/bump/卫生提醒。
25-
- 每次 POST 之前正文答三件:类别字母、动手的读者(哪个席位哪一步)、查重词与命中数。
22+
- POST 前正文答三件:类别 ①–④、动手的读者(哪席哪步)、查重查询与命中数(含 closed)。
2623
- 缺任一件的卡由分诊首触即关、不定级,关单一行点名缺的是哪一件。
2724
- 「动手的读者」与 Acceptance notes 同一问:说得出具体 PR 或人 ⇒ 写进去,说不出 ⇒ 不立卡。
2825
- 说不出的形态:`.changeset/*`、无人在改的文档页、生成物、已扫完的批次,兜底不成立。

‎scripts/pm/check-skill-line-ratchet.mjs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1216,7 +1216,7 @@ export const CEILINGS = new Map([
12161216
// seat applies. A new pm-dispatch references file belongs in this map by the
12171217
// header's own definition of the covered surface — the map is an
12181218
// ENUMERATION, so a file that is merely absent is silently unratcheted.
1219-
['.claude/skills/pm-dispatch/references/filing-gate.md', 61],
1219+
['.claude/skills/pm-dispatch/references/filing-gate.md', 58],
12201220
// The app-vs-platform boundary — the deciding question (could this be written
12211221
// from the metadata alone, with no knowledge of this company?), the publication
12221222
// test (one consumer is a use, two is a contract) and the two anti-patterns.

0 commit comments

Comments
 (0)