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
16 changes: 8 additions & 8 deletions .claude/skills/pm-dispatch/SKILL.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -36,7 +36,7 @@ metadata:
| `triage` | 以**分诊座位**身份运行(只扫/分类/路由,永不认领) | — |
| `<domain>`(如 `spec`、`skills`) | 以该 `domain:*` 车道的**执行座位**身份运行 | — |
| `epic:#<n>` | 以父单 #n 的 **epic PM** 身份运行(见「Epic 子树车道」) | — |
| `director` | 以**项目总监席**身份运行(人工召唤;三职与章程见「升级与决策」与 `references/lanes/director.md`) | — |
| `director` | 以**项目总监席**身份运行(人工召唤;四职与章程见「升级与决策」与 `references/lanes/director.md`) | — |
| `label:<name>` | backlog 过滤标签;`label:all` = 全部 open 未认领 | `pm:queue` |
| `repo:<owner/name>` | 扫哪个仓的 backlog(单 issue 的落地仓看它自己的 `repo:*` 标签) | `objectstack-ai/objectstack` |
| `batch:<n>` | 同时在飞的 dev 上限 | `3` |
Expand DownExpand Up@@ -819,7 +819,8 @@ main 红了约一小时,逐 PR 连环红到 fix-forward 才止)。本段只适
每轮向维护者打**中文**轮次报告(chat 通道,语言政策显式例外):issue → 判决 → PR 链接 → 备
注的表
,加升级项、代裁清单(分诊)、awaiting a human merge 项、governed 合并审计清单(实跑
`node scripts/pm/check-governed-merges.mjs --since <上轮>`,⛔ 不凭记忆汇总)、**`UNRECOGNISED` 行**(对本轮
`node scripts/pm/check-governed-merges.mjs --since <上轮>`,⛔ 不凭记忆汇总;此为车道早警,权威
合并窗口与认定/回滚处置归总监席,`references/lanes/director.md`)、**`UNRECOGNISED` 行**(对本轮
门禁日志 grep `UNRECOGNISED`,逐行照录,`NOT APPLICABLE` 行也在内 —— 缺行读作「无未识别项」,实
则可能是没人 grep)。健康指标四个(总 open 数刻意不在其
中 —— 债密区发现快于关闭是循环在工作):**可派发库存**(dispatchable inventory;open `pm:queue` 未
Expand DownExpand Up@@ -942,14 +943,13 @@ grep <branch>`),复升级时逐条**跑**一遍,零命中/变形的就地改写
者在本会话
~30 分钟内有过人类输入才可发,每问必带推荐项,被 Skip 或长挂即转卡通道 ⛔ 不重弹 ——
卡先于弹窗存在,弹窗怎么死盘面都诚实。
**项目总监席(Project Director):人工召唤,三职 = `needs:contract-review` 复审链、决裁勤务、维护
者动作台账**(维护者 2026-08-27 裁定,原话:「项目总监 由人工定期指挥,负责处理 contract-review 类
别的和需要决裁的。」「需要维护者处理的事情,也归项目总监。」—— 决裁半边自此由 skills 席移交本席,
**项目总监席:人工召唤,四职 = `needs:contract-review` 复审链、决裁勤务、维护者动作台账、
governed 合并审计**(维护者 2026-08-27 裁定,原话:「项目总监 由人工定期指挥,负责处理
contract-review 类别的和需要决裁的。」「需要维护者处理的事情,也归项目总监。」—— 决裁半边自此由 skills 席移交本席,
改写 2026-08-26「skills 和决裁的问题,还是由skills席统一人工处理,我会要求你处理某个仓的skills和
决裁。」的归属半句,skills 面与其车道照旧归 skills 席)。入口 = `/pm-dispatch director`;⛔ 无
Routine 无 cron,召唤间隔载体停放是设计安全态;档位硬门 = `CONTRACT_REVIEW_TIER`(保险丝机读),
不达档只做免档整理并停放三职;不占 `domain:*`,按职责标签跨车道跨仓,永不认领 backlog、
永不写码,机械接手经派发 dev(与分诊席同款 carve-out);章程见 `references/lanes/director.md`。
Routine 无 cron;档位硬门 = `CONTRACT_REVIEW_TIER`(保险丝机读),不达档只做免档整理并停放
四职;不占 `domain:*`,永不认领 backlog、永不写码;章程见 `references/lanes/director.md`。

## 护栏(Guardrails,有约束力)

Expand Down
56 changes: 28 additions & 28 deletions .claude/skills/pm-dispatch/references/lanes/director.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -5,19 +5,16 @@ issue 编号;机器判据恒英文,引文逐字不译。

## 授权与形态

- **授权源**(维护者 2026-08-27,live PM chat,三句依次,逐字未译):「所以是否应该搞一个决裁的项
目经理,也要更新他的skills」「比如叫项目总监?」「项目总监 由人工定期指挥,负责处理
contract-review 类别的和需要决裁的。」—— 第三句即本席的职责定义与召唤契约。
- **授权源**(维护者 2026-08-27,live PM chat,逐字未译):「项目总监 由人工定期指挥,负责处理
contract-review 类别的和需要决裁的。」—— 此句即本席的职责定义与召唤契约。
- **人工召唤,⛔ 无 Routine 无 cron 无常设舰队位**:维护者说「处理决裁」/「处理
contract-review」或 `/pm-dispatch director` 即入口;延迟权衡明写 —— 召唤间隔里
`needs:contract-review` 载体与决策卡**停放是设计安全态**,维护者的召唤节奏就是复审与决
裁节奏。
contract-review」或 `/pm-dispatch director` 即入口;召唤间隔里复审载体、决策卡与审计窗口
**停放是设计安全态**,召唤节奏即复审、决裁与审计节奏。
- **档位** = `CONTRACT_REVIEW_TIER`(dispatch-gates 常量单源,⛔ 本文不写模型名);每场开场按降
档保险丝机读认定(细则见 `../contract-review.md`);不达档只做免档整理(载体盘点、批次拟
稿、「待您」清单归集),三职停放,⛔ 不出裁决、不清标、不摘标。
- **双射 carve-out(与分诊席同款)**:一张 `pm:seat` 座位贴、四段协议照旧;不占 `domain:*` 车
道,范围按职责标签(`needs:contract-review`、`needs-user-decision`、`pm:awaiting-maintainer`)跨车
道跨仓;永不认领 backlog、永不写码;机械接手由派发 dev 按既有接手协议执行。
稿、「待您」清单归集),四职停放,⛔ 不出裁决、不清标、不摘标。
- **双射 carve-out**:一张 `pm:seat` 座位贴、四段协议照旧(与分诊席同款);不占 `domain:*`
车道,范围按职责标签跨车道跨仓;永不认领 backlog、永不写码;机械接手经派发 dev。

## 基本原则(维护者 2026-08-27,逐字未译)

Expand All@@ -27,8 +24,7 @@ issue 编号;机器判据恒英文,引文逐字不译。
一个推荐。呈报批序与写法见 `../decision-analysis.md`;四维框架单源在主文件「升级与决
策」四轴(`check:skill-frame-sync` 管的四份拷贝不动,⛔ 本文不复制框架本体)。
- 本原则重锚 2026-08-26 流程裁定(「决裁流程今天这样很好,决策卡5张一组,从业务的角度给我具体解
释,说明可选项,并进行四维分析。应该写入技能。」):流程未变;2026-08-26 定流程,2026-08-27 把
它升格为本席工作的基本原则并定归属 —— 两个日期不矛盾。
释,说明可选项,并进行四维分析。应该写入技能。」):流程未变,2026-08-26 定流程、2026-08-27 升格定归属。

## 职责一:`needs:contract-review` 复审链

Expand All@@ -38,37 +34,41 @@ issue 编号;机器判据恒英文,引文逐字不译。
- **处理三分支**(维护者 2026-08-27,逐字未译:「刚才说的 needs:contract-review 类别,项目总监处理
时,如果是收尾,应该帮忙处理完到合并。如果有大的错误,应该改标签。如果是卡在决策卡,和我讨论该
怎么处理。」):
- **收尾(PASS,工已完)⇒ 跟到合并为止**:非受管 code PR 走「清标即落地」全链(落地前检
→ ready → auto-merge/入队);受管面照旧 draft-only + 人工合并 ——「到合并」= 推进到就绪
并点名等待,⛔ 不代维护者合并。
- **收尾(PASS,工已完)⇒ 跟到合并为止**:非受管 code PR 走「清标即落地」全链;受管面
照旧 draft-only + 人工合并 ——「到合并」= 推进到就绪并点名等待,⛔ 不代维护者合并。
- **大的错误(FAIL/REWORK)⇒ 改标签即交接**:按状态机一笔 replace 转回相应工作态(重派/
返工),⛔ 散文点名不是交接 —— 标签才是收件箱,散文对候选查询与 sweep 全不可见。
- **卡在决策卡(BLOCKED)⇒ ⛔ 不擅断**:并入决裁批次,按基本原则格式与维护者讨论。

## 职责二:决裁勤务

- 决策收件箱(`needs-user-decision`)跨仓勤务:按基本原则批呈;一行回批(「1A 2B …」;「X, 但…」
= 附带条件随执行落地)即全链执行,裁后四件原子执行不再请示;批间新到滚入下批,收件箱
清零才收工;⛔ 不复活已退役的汇总 issue(维护者 2026-08-19:「之前定期生成的决策汇总 issue没
什么用」)。
- 决策收件箱(`needs-user-decision`)跨仓勤务:按基本原则批呈;一行回批即全链执行,裁后
四件原子执行不再请示;批间新到滚入下批,收件箱清零才收工;⛔ 不复活已退役的
汇总 issue(维护者 2026-08-19:「之前定期生成的决策汇总 issue没什么用」)。
- 代裁通道(分诊 Routine 或本席)硬门、置信门与人工地板见主文件「分诊座位职责」,⛔ 不另
抄;不达档 ⇒ 通道整体跳过、卡走维护者路径,恒安全。

## 职责三:维护者动作台账(维护者 2026-08-27,逐字未译:「需要维护者处理的事情,也归项目总监。」)

- `pm:awaiting-maintainer` 跨仓标签清单是「待人工动作」的唯一机器载体(Settings/Routines UI 操
作、手点、凭据一类 —— 决定已做、只剩一次 GitHub 之外人工动作的态);本席是台账管
家,各车道席照旧只负责**入态**(发现即停放),台账与出口归本席。
- `pm:awaiting-maintainer` 跨仓标签是「待人工动作」唯一机器载体(决定已做、只剩一次 GitHub
之外人工动作的态);本席是台账管家,车道席照旧只负责**入态**,台账与出口归本席。
- 召唤时随决裁批次呈报一份合并的「待您」清单 —— 座位贴散文降为指针,标签即状态。
- **出口执行**:核验动作确已发生 → 摘标 + 证据评论同笔;「无机器出口,by construction」不
变,换的只是执行席(出口条款见 `../state-machine.md`)。
- **出口执行**:核验动作确已发生 → 摘标 + 证据评论同笔;出口条款见 `../state-machine.md`。

## 职责四:governed 合并审计(维护者 2026-08-27,逐字未译:「合并审计归总监那件事,同意你的建议」)

- 检测双层、处置单席:车道轮报 sweep 只作早警,权威合并窗口在本席,每场召唤实跑
check-governed-merges,`--since-ref` 锚上一场记录的 tips(锚行住座位贴说明段;脚本零存储,自
打印下一场参数),跑后新 tips 同笔记回;INCOMPLETE(exit 2)照实报,⛔ 不作干净。
- 清单并入决裁批次,一行一条认定 y/n;未认定条目 = 席位违规,同笔立 `needs-user-decision` 卡
立案回滚(事后审计制,维护者 2026-08-18「同意。」);容器 403 归因逐条走 MCP 补齐。
- ⛔ 不新增标签(枚举本地树推导零 API);⛔ 无 cron(节奏与停放同「授权与形态」)。

## 交接台账(supersession —— 原条款已原地改写,此处记两个日期的关系)

- **决裁半边**:2026-08-26「skills 和决裁的问题,还是由skills席统一人工处理,我会要求你处理某个仓
的skills和决裁。」的决裁归属由 2026-08-27 裁定移交本席;skills 面照旧归 skills 席 —— 分界:
改 skill/指令/governance 文本的工作归 skills 席,出裁决、清复审标、清点待人工清单的勤务归
本席。
- **决裁半边**:2026-08-26 裁定(原话见主文件总监段)的决裁归属由 2026-08-27 移交本席;
skills 面照旧归 skills 席 —— 分界:改 skill/指令/governance 文本的工作归 skills 席,出裁
决、清复审标、清点待人工清单的勤务归本席。
- **复审链常设归属**:skills 席自绑小时钟(维护者 2026-08-23:「要不还是你挂个定时处理审核
吧」)实测已死,⛔ 不复活;归属改写为本席人工召唤(`../contract-review.md` 归属条款为准)。
- **代裁 runner 集**:「分诊 Routine 或 skills 席」→「分诊 Routine 或项目总监席」;fable 机读保险
Expand Down
Loading