Skip to content

Commit 07843e6

Browse files
committed
Merge remote-tracking branch 'origin/main' into claude/issue-20946-by-name-flow-read
2 parents 20081cd + 212d613 commit 07843e6

4 files changed

Lines changed: 8 additions & 7 deletions

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
109109
| `pm:blocking` | 有 open 下游依赖者(自 `Blocked-by:` 索引推导的缓存,⛔ 不手工挂);进选择全序 |
110110
| `pm:retriage` | 向分诊提问(改判、跨域 PR 指定车道、改路由、拆卡、裁 dev 报告留下的分叉),定车道与改路由限未派发卡,异议评论写明所求;与现行 `pm:*` 并存、⛔ 不摘原标;带本标签的 `pm:queue` 卡跳过派发 |
111111
| `finding` | 立卡三类内待首次定级,定级即离标;三类外关 not planned;不占队列不进收件箱 |
112-
| `tooling` | 修复落在门禁/脚本/workflow/技能/席位协议/PM 工具面而非产品包;分诊首触打,与 `domain:*` 同笔;四具名读者 = 候选查询排除、首触即关、舰队一张在飞、普查半态行 |
112+
| `tooling` | 修复落在门禁/脚本/workflow/技能/席位协议/PM 工具面而非产品包;分诊首触打,与 `domain:*` 同笔;三具名读者 = 候选查询排除、首触即关、普查半态行 |
113113
| `target:<major>` | 发版阻塞:每个 backlog 恰好一个生产者 |
114114
| `pm:epic`(父单或 sub-issue) | 已由 epic PM 保留;其它 PM 永不取;⛔ 永不与 `pm:queue` 同挂 |
115115
| `pm:seat` | 座位登记贴:协议载体,不是待分诊的工作 |

‎.claude/skills/pm-dispatch/references/execution-duties.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
- 工作项面:卡片与分诊评论列的每条工作项逐条对树核验是否仍未完成,⛔ 不对卡核验。
2020
- 每条工作项写进派发令时都是 dev 首先证伪的前提。
2121
- `batch` 封顶全部子代理,等待不填槽;同批独立按文件面不相交判,⛔ 不按包、不按 check 名。
22-
- 舰队至多一张 `tooling` 卡带 `pm:dispatched`,第二张等;带 `Unblocks:` 者继承产品级不计数。
2322
- single-writer 路径 = `SINGLE_CLAIM_PATHS` 所枚举;共享其它路径是普通并发,后落地方解冲突。
2423
- 第 N 单派发前读 `scripts/pm/os-verify-lock.sh --status`:到达深度 ≥ `LOCK_DEPTH_HOLD`(= 2)即等。
2524
- 到达深度 = `queue N:` 行数 + 1(待派 dev 的运行算作到达);`state:` holder 与 `parked` 行不计。
@@ -43,6 +42,7 @@
4342
- 阻塞项无主 ⇒ 被挡席认领做掉,不限大小;在该卡走完整认领、尊重其热文件串行队。
4443
- 阻塞项在飞 ⇒ 等:`pm:blocking` 在其车道排最前、等待者写该卡;p0/p1 优先级沿链传递。
4544
- 取卡前置 = `docs/NORTH-STAR.md`「优先级」第 3 条:本车道队列开放 P0/P1 每次取卡现读。
45+
- 开放 = 未派发(无 `pm:dispatched`、无 assignee);在飞的 P0/P1 不挡任何候选,只余取卡全序。
4646
- 取卡全序:维护者直派插队卡(出处三件)> 契约面卡(判据见 `references/lanes/spec.md`)> 标签序。
4747
- 标签序:`priority:p0` > `pm:blocking` > 功能点位次 > `target:` 板上项 > p1 > p2 > p3 > 无级。
4848
- `pm:blocking` 级内先按解锁扇出(从 `Blocked-by:` 反向索引现算,⛔ 扇出数不落标签)。

‎.claude/skills/pm-dispatch/references/triage-duties.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
- 定义项取北极星「做出来的是什么」或仪器卡的车队决定;无则关;`none` 非分诊缺口。
6262
- 清单项三态定级(会 fail / 步骤够不到 / 无项断言)与定级判据见 `references/filing-gate.md`。
6363
- 「无则关」= 首触即关 not_planned,带理由与入队两条件,⛔ 不定 p3、不 hold;下行同此。
64-
- 所入车道队列 P0/P1 开着时,无解锁对象的 p2/p3 `tooling` 卡同样关。
64+
- 所入车道队列 P0/P1 开着(= 未派发,在飞不算)时,无解锁对象的 p2/p3 `tooling` 卡同样关。
6565
- 路由是分诊的技术判断,⛔ 永不升级哪个仓的问题;父单是协调节点,永不派发。
6666
- 父单已有子结构的:父单队列标签即可,分诊逐个展开路由、补 `Blocked-by:` 排序。
6767
- 跨层功能点(≥2 层)立父单带 `area:*`+`pm:epic`+清单项级,逐层子单按 `Blocked-by:` 排。

‎scripts/pm/ensure-pm-labels.sh‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -279,13 +279,14 @@ for R in objectstack-ai/objectstack objectstack-ai/objectui objectstack-ai/cloud
279279
# seat protocol or PM tooling file (scripts/**, .github/**, .claude/**,
280280
# packages/lint gate rules, packages/spec/scripts/**) rather than in a product
281281
# package. Triage applies it at FIRST GRADING, in the same label write as
282-
# domain:* and priority:*; a filer may pre-apply it. Four named consumers, all
282+
# domain:* and priority:*; a filer may pre-apply it. Three named consumers, all
283283
# in the pm-dispatch charter (SKILL.md 状态模型 row, 分诊座位职责 and 候选与批次):
284284
# the execution seat's candidate query, which excludes a tooling card carrying
285285
# neither an `Unblocks: #N` line nor a named published surface; the triage
286-
# first-touch close; the fleet-wide one-tooling-card-in-flight count; and the
287-
# census / half-state patrol, for which a tooling card open in pm:queue with
288-
# neither line is a half-state. It is in this five-repo loop on the rule stated
286+
# first-touch close; and the census / half-state patrol, for which a tooling
287+
# card open in pm:queue with neither line is a half-state. (No fleet-wide
288+
# in-flight count: the take-order alone sequences tooling cards.) It is in this
289+
# five-repo loop on the rule stated
289290
# beside priority:p0 above — the sweep that reads it is repo-parameterized
290291
# (PM_SWEEP_REPO) and first-touch grading is a five-repo triage duty. Measured
291292
# 2026-09-21 in objectstack, where the label is live on 44 queue cards: the

0 commit comments

Comments
 (0)