Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .claude/skills/pm-dispatch/references/seat-lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,16 @@
- 读侧只读贴正文 + 晚于正文最后编辑的评论;刷新前读完评论、回执未读敲门,再刷。
- 热文件串行队是正文具名段:区域写不清就只能整文件串行。
- 座位贴每仓登记合并是否对外发布及其验证层;登记缺失视为未验证。
- 无心跳,活性由分诊轮判定:逾一天无自有产出 ⇒ 座位贴当场降级,静默认领同钟先敲门。
- 敲门后满 `RECLAIM_AFTER_HOURS` 无答复即由分诊一笔中继释放,细则 `triage-duties.md`。
- 无心跳,活性归总监席摘要:逾一天无自有产出 ⇒ 座位贴当场降级,静默认领同钟先敲门。
- 敲门后满 `RECLAIM_AFTER_HOURS` 无答复即由总监席一笔中继释放,细则 `triage-duties.md`。
- ⛔ 永不从贴的 `updated_at` 或标题推死活;活性只认在任者自己的产出。
- 竞态三招:动手前重 fetch 正文、审计评论时间戳先到先得、写后回读。
- 收班 = 状态 flush + 在飞显式安置,不是在飞归零;派发口径失效,简报 ⛔ 不列作继承裁决。
- 离任留守只写简报点名的项,⛔ 不读队列、不新派发、不碰未点名卡。
- 换班报告默认零建议,只收三类:原则错/缺、可机械化项、平台事实变化。
- 原则错/缺 → skills 席专题;可机械化项 → 门禁/脚本卡,⛔ 不是散文。
- 平台事实变化 → references 事实表改一行。
- 三类以 `finding` 入 skills 车道由该席分诊;三类之外默认关 not planned。
- 三类以 `finding` 入 skills 车道,首触归分诊席;三类之外默认关 not planned。
- 接管/移交 = 改正文 + 审计评论(只作审计);收尾清单等细则见 `references/seat-post-protocol.md`。
- epic 委托不入座位贴体系;新 `packages/spec` 工作恒归 spec 座位。

Expand Down
4 changes: 2 additions & 2 deletions .claude/skills/pm-dispatch/references/seat-post-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

- 活性惰性半边在接管冲突时评估一次:Routine 座位查调度器 `last_fired` 与 `next_run`。
- 会话座位查最近一条产出评论的时间戳;回收 = 改正文 + 审计评论。
- 常设半边是分诊轮的座位贴活性巡查,同一判据,细则见 `dispatch-runbook.md`。
- 常设半边是总监席摘要的座位贴活性巡查,同一判据,细则见 `dispatch-runbook.md`。
- 可跑读法:本车道 `pm:dispatched` 卡按 `updated_at` 降序一搜,或读最近一条认领评论。
- 写侧刷新三时刻:派发、收班、暂停或交接前;时间戳恒取自 `scripts/pm/post-stamped.mjs`。
- 刷新前回执敲门;`--body` 拦截:评论晚于末次戳 ⇒ `--ack-through=ID`;空座欠账无卡号 ⇒ 拒写。
Expand Down Expand Up @@ -77,7 +77,7 @@

## 发版板运维(`target:<major>`)

- 生产者:主仓归分诊座位,objectui 与 cloud 归各自整仓座位。
- 生产者:主仓归总监席,objectui 与 cloud 归各自整仓座位。
- 其余座位不打不摘,误判走上报;⛔ 三个生产者各扫各的 backlog。
- 消费者:维护者的发版清单 = 三仓三条查询 `label:target:<major> is:open`。
- 等价的 org 级搜索仅是备用写法;归零 = 可发版指三张板都空,单看主仓归零不是。
Expand Down
6 changes: 3 additions & 3 deletions scripts/pm/check-half-states.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -15233,7 +15233,7 @@ export function h64ExposureClause(counts = {}, cap = H64_LOGIN_ROSTER_CAP) {
// inventory two-tiered and closes the rule with a forcing function: 「选层按
// fire 时刻,⛔ 不用计数器;简报写明本轮跑的层」. The SELECTOR itself is pinned
// one hop away in `.claude/skills/pm-dispatch/references/dispatch-runbook.md`
// 〈分诊两级盘点细则〉 — 「每日层(当日首 fire)= 四仓全量对账 + 归集本就日频的
// 〈分诊两级盘点细则〉 — 「每日层(当日首 fire)= 两仓全量对账 + 归集本就日频的
// 职责」, the hourly tier reading a `since` window — and neither text is
// ambiguous. What had no reader is the LAST clause. The filing card's grep for
// it across `scripts/pm/` and `.claude/skills/pm-dispatch/`, excluding the two
Expand Down Expand Up @@ -15307,7 +15307,7 @@ export function h64ExposureClause(counts = {}, cap = H64_LOGIN_ROSTER_CAP) {
//
// · the KEY is closed — 「层」 plus a colon (ASCII or full-width), nothing else;
// · the WORD SET is closed — 「小时层」/「每日层」, the runbook's own two names
// (〈分诊两级盘点细则〉「每日层(当日首 fire)= 四仓全量对账 …」). Any other
// (〈分诊两级盘点细则〉「每日层(当日首 fire)= 两仓全量对账 …」). Any other
// word after the key is `unknown-tier`, exactly as `Tier: full` is;
// · it must sit in a DECLARATION SLOT, never mid-sentence: the start of a
// line, or immediately after a 「·」 field separator, which is the marker
Expand Down Expand Up @@ -15656,7 +15656,7 @@ export function h65TierlessRoundArtefactRow(hit, comment, total = 1) {
`${H65_TIER_EXAMPLES_CN} at the start of a line or as a 「·」-delimited field of the ` +
'headline — with the selector ' +
'read from `.claude/skills/pm-dispatch/references/dispatch-runbook.md` 〈分诊两级盘点细则〉 ' +
'(「每日层(当日首 fire)= 四仓全量对账 + 归集本就日频的职责」). ⛔ This row does NOT judge ' +
'(「每日层(当日首 fire)= 两仓全量对账 + 归集本就日频的职责」). ⛔ This row does NOT judge ' +
'whether the tier chosen was the RIGHT one — that reading is the seat\'s and is pinned in the ' +
'runbook; this one only refuses the silence. Report-only: patrol input, never a gate verdict.' +
more
Expand Down
Loading