From 53c66eca8fcbac94ed55ba36faf1c5cb5450da7c Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 21 Sep 2026 04:35:50 +0000 Subject: [PATCH 1/4] =?UTF-8?q?docs(pm-dispatch):=20instrument=20disciplin?= =?UTF-8?q?e=20=E2=80=94=20hard=20gates=20answer=20definite=20questions=20?= =?UTF-8?q?only?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit R1: a non-zero `--pair` blocks landing only on the rows that answer a definite question; C5, the widening tell, is report-only and the at-tier review rules on its tells. R2: a report-only instrument earns no card and no dev. R3 (charter half): the half-state patrol runs on demand and its H rows are a reading, never a dispatch precondition. R5: the at-tier review is owed on what ships to users or agents, and its shape is a diff read plus the head's check-runs — never a local re-run of the derived gate families. R6: the 仪器纪律 reference, with one pointer line in SKILL.md. Every added line is paid in place; no ratchet ceiling moves. Claude-Session: https://claude.ai/code/session_012GcsUbuqFGBibkEDMRC1eE Co-Authored-By: Claude --- .claude/skills/pm-dispatch/SKILL.md | 10 +++++----- .../pm-dispatch/references/contract-review.md | 14 +++++++------- .../skills/pm-dispatch/references/core-rules.md | 2 +- .../references/instrument-discipline.md | 11 +++++++++++ AGENTS.md | 10 +++++----- 5 files changed, 29 insertions(+), 18 deletions(-) create mode 100644 .claude/skills/pm-dispatch/references/instrument-discipline.md diff --git a/.claude/skills/pm-dispatch/SKILL.md b/.claude/skills/pm-dispatch/SKILL.md index 379f8b07e98..c90f68745fa 100644 --- a/.claude/skills/pm-dispatch/SKILL.md +++ b/.claude/skills/pm-dispatch/SKILL.md @@ -174,6 +174,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - 定时器文本 ⛔ 不写结论、不含未经重读即可执行的祈使句。 - 放行认门禁 job 的结论(`completed: success`),⛔ 不认聚合读数。 - advisory 门禁红着进 main 是共享损伤,任何车道发现都立即止血并立单,见 landing-operations B。 +- 仪器纪律(硬门禁面、只报告面、新增授权、工具位)见 `references/instrument-discipline.md`。 - dev 自己死了不等于维护者中止:子代理消失是正常死法,走死认领回收。 - 维护者中止只认原话或宿主回报 stopped by the user,⛔ 不据推断立无重启条件的门。 - 共享基础设施修复入队前按症状复查 main,不按 issue 号。 @@ -349,6 +350,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - (c) 元数据 = 由写它的人以外的人存储并再作者化的键:React prop 不是,存储的视图配置是。 - 把作者引向运行时会兑现却让事情更糟的元数据的警告不在 (c) 内;记为边界,⛔ 不扩类。 - (a) 须今天可达,(c) 须具名生产者;观察、休眠、零拉动 ⛔ 不立卡、不进汇总卡、无配额。 +- 只报告的仪器,报错不配 dev:猜意图的只印读数,误报席位一句推翻,⛔ 不立卡不派 dev。 - 判「进 Acceptance notes」前先问:哪一个 PR 会碰到这个文件?说得出具体 PR 或人 ⇒ 写进去。 - ⛔ 说不出(`.changeset/*`、无人在改的文档页、生成物、已扫完的批次)⇒ 兜底不成立。 - 仍然关,但关闭理由必须写明「承接者:无」。 @@ -420,8 +422,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 ## 执行座位职责 -- 每轮巡检第一判据:先读半状态巡查锚(`half-state-patrol.yml` 置顶 issue)。 -- 锚上点名本道卡/PR/座位贴的 H 行逐行处置,再做其余判据;锚行未处置 ⛔ 不开新派发。 +- 半状态巡查按需跑(分诊席每日对账可调),H 行是读数不是前提;⛔ 不因锚行停派发。 ### 候选与批次 @@ -625,8 +626,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - ④ 轮次报告单列 awaiting a human merge。 - 已入队才读到本条 ⇒ 转 draft 与 disable 都做;出队以阳性探针答,ref 缺席只旁证。 - skills 车道自有 PR:纯代码面如 `scripts/pm/` 由本席按达档自审(清单不减)后落地。 -- 受管面两层:Tier H(规则层)= `AGENTS.md`+`CLAUDE.md`+`docs/adr/**`+`docs/NORTH-STAR.md`+发布 `skills/**`。 -- Tier S = `.claude/**` 全树;Tier H 四件套等人批;Tier S 经席内达档复核 PASS 在案后 ready → 入队。 +- 受管面两层:Tier S = `.claude/**` 全树,余皆 Tier H 等人批;S 经达档复核 PASS 后 ready → 入队。 - 路径面干净的才转 ready → 入队;队列是唯一被认可的落地路径,⛔ 永不队列外合并。 - 入队资格:每 check 绿或预期 skip,⛔ 非必查子集;名单 check-expected-skips.mjs 只判 objectstack。 - 非必查红是真缺陷或坏门,归 PM 入队前处置;第三种按设计而红,三条全立才可带红入队: @@ -646,7 +646,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - 真正设计分叉照旧进决策箱,席内复核 ⛔ 不替代维护者裁定。 - 外部评审链降为可选事后审计,非放行前提。 - `needs:contract-review`(恒英文)由席位同笔挂:PR 一现即挂 PR;报告先到则先挂卡。 -- `Clause-②: yes` 认领同笔卡上挂标;开 PR `PM_SWEEP_REPO=仓 check-clause2-carriers --pair N` 0 才请审。 +- `Clause-②: yes` 认领同笔卡上挂标;开 PR 跑 `--pair N`:只确定性行红才挡请审,C5 只印读数。 - 挂标后复核完成前短暂停靠;⛔ 不前瞻预挂。 - 契约复核的适用面、载体纪律、资格与归属、降档保险丝见 `references/contract-review.md`。 - 碰生成物的 PR 入队前先同步 + 整体重生成:四步序 `bash scripts/pm/os-regen-merge.sh`。 diff --git a/.claude/skills/pm-dispatch/references/contract-review.md b/.claude/skills/pm-dispatch/references/contract-review.md index 5c729d04ce3..5a54fc06769 100644 --- a/.claude/skills/pm-dispatch/references/contract-review.md +++ b/.claude/skills/pm-dispatch/references/contract-review.md @@ -12,8 +12,7 @@ - 机械地板 claim 时可查树:新导出符号或已发布载荷上的新键恒 `yes`,锁达档契约复核。 - conformance 类 ⛔ 不机械化:填充已声明字段、在两个已发布码之间重选输入类都需判断。 - claim 拿不准 ⇒ 按 `yes` 挂标走达档契约复核;⛔ 不建全量分类学与 claim 时决策程序。 -- PR 与卡双载体同笔挂:PR 一存在即挂;报告先于 PR 到达则先挂卡侧,ACCEPT 时补齐 PR 侧。 -- 同笔在卡上记一行条款②认定;停靠只防误入队,⛔ 无等外部席位的无限期状态。 +- 同笔在卡上记一行条款②认定,PR 侧 ACCEPT 补齐;停靠只防误入队,⛔ 无无限期等外席态。 - 前瞻的条款②事实住卡上裁决与分诊评论、`Clause-②` 申报和 `--tier` 输出。 - 开着的载体恒 = 真实待审;载体不迁移:⛔ 不迁 PR review 或 Request Changes,⛔ 不为迁移留门。 - FAIL 同 PASS 剥双载体:同笔留卡上交接评论(引复审、独立性对、欠改);卡态与 assignee 不动。 @@ -24,26 +23,27 @@ - 归属派发席,交付后收集复核当轮完成;只 spec 与 skills 车道欠,新 spec 工作恒归 spec 席。 - 按车道:spec 与 skills 席审契约增量;达档席内审,未达档 ⛔ 不自审,起达档子代理。 +- 复核面 = 出货给用户或 agent 的:`content/docs/**`、`apps/docs/**`、CHANGELOG/`.changeset` 散文。 +- 同含已发布 schema 与 governed 规则文本;三面皆不碰 ⇒ CI 加席位自读,⛔ 不起第二个 agent。 - 复核记录 = 一条评论落 PR 或卡,席内与子代理同形;散文、dev 自评、`os-dev-report` 恒不算。 - 同形 = `## Contract review` 题头、所审 head sha 独占码段、①②③ 逐项、独立性对、PASS/FAIL。 - 同形含首行 `Served-tier:`:值写常量名 `CONTRACT_REVIEW_TIER`;无此行不成裁决,模板见 `--template`。 - ① derived judgments 逐项:diff 引出的接受集与公开面变化逐条点名判对错。 - ② semver 定级与 changeset 声明一致;③ 边界旗:dev 挂旗与 `open_questions` 逐旗答复或升级。 +- 复核形状:只读 diff 与卡片,check 结论取 head 的 check-runs,⛔ 永不本地重跑派生门禁族。 - 独立性件(契约真分叉、dev 挂旗)与保险丝只免席内审,不免复核:起隔离达档子代理。 - 只喂卡片、既有裁决与 PR 本体,⛔ 不喂派发令与派发席自己的结论;简报写成对抗性。 - 隔离复核子代理暂存全写按所审 PR 命名的 `/pr-/`,⛔ 不读非本轮自写的暂存。 -- 独立性对(机读):`Implemented-by:` 写产 diff 者身份;`mode:subagent` 记分支,`mode:remote` 记 session id。 -- `Reviewed-by:` 写渲染或采纳裁决的席位 session;隔离复核子代理无 session,记采纳它的席位。 +- 独立性对(机读):`Implemented-by:`/`Reviewed-by:` 取值见 `--template`;子代理记采纳它的席位。 - 两者同 session ⇒ 报 SELF-REVIEW;只 `mode:remote` 可达,`mode:subagent` 席内审是设计;值紧跟冒号。 - 清标即落地:PASS ⇒ 同席同笔剥双载体;清标同笔落 PR provenance 评论,引记录 id 与所判 head。 - 轮次报告设复审清单专节,形状与代裁清单同为强制审计。 - 落地前检三条:① 达档条款②复核 PASS 在案,即 PR 或卡上同形复核记录(spec、skills 每轮)。 - ② 双载体已清,逐对机读 `PM_SWEEP_REPO=仓 node scripts/pm/check-clause2-carriers.mjs --pair N`。 -- 0 = 双肢一致、无放宽 tell、head 上有记录;4 = 任一不成立;3 = 环境答不了,⛔ 不作干净。 -- 放宽 tell 由 `scripts/pm/check-widening-tells.mjs` 判,`no` 撞新键/成员/导出/登记即拒,附 file:line。 +- 0 = 确定性行全清;4 = 任一不成立,只确定性行红才挡落地;3 = 环境答不了 ⛔ 不作干净。 +- 确定性行 = 复核记录在案、`Served-tier:` 在、双载体一致、认领形;C5 放宽 tell 归复核裁。 - ③ PR check 全绿,⛔ 非 required 子集;例外:merge-base 同签名的红不计、按设计而红见 SKILL.md。 - 签名 = 失败步 + 首错行,读 base check runs 的 API ⛔ 不凭口述;主干红止血立单不变。 -- Tier H(规则层)等维护者的字;受管路径全在 Tier S 面(`.claude/**`)者达档过本三条入队。 ## 降档保险丝(机读) diff --git a/.claude/skills/pm-dispatch/references/core-rules.md b/.claude/skills/pm-dispatch/references/core-rules.md index 4efc27146ef..db475c792e3 100644 --- a/.claude/skills/pm-dispatch/references/core-rules.md +++ b/.claude/skills/pm-dispatch/references/core-rules.md @@ -99,7 +99,7 @@ - 代裁即换标签、贴四棱块与结论、打自动裁决标记、轮报设专节;发现契约要动则回箱。 - 方向性授权覆盖整条执行链,需裁事项攒批呈报,运维细节 ⛔ 不弹给维护者。 ## 执行座位职责 -- 每轮巡检先读半状态巡查锚上点名本车道的行并逐行处置,未处置 ⛔ 不开新派发。 +- 半状态巡查按需跑,其 H 行是读数不是前提,⛔ 不因锚行停派发。 - 候选整车道一次读全再本地求交,每张读全文与全部评论并把裁决逐字引入派发词。 - 派发前做前提过时检查,动作面、卡引用面与工作项面三面都对树核验。 - 同批独立性按文件面不相交判,⛔ 不按包;同区域硬串行,冲突交合并队列仲裁 ⛔ 不手排。 diff --git a/.claude/skills/pm-dispatch/references/instrument-discipline.md b/.claude/skills/pm-dispatch/references/instrument-discipline.md new file mode 100644 index 00000000000..6d4ffc426a2 --- /dev/null +++ b/.claude/skills/pm-dispatch/references/instrument-discipline.md @@ -0,0 +1,11 @@ +# 仪器纪律 + +见 SKILL.md 〈平台读数纪律〉的指针行;本文是仪器的分界、授权与工具位次序。 + +- 硬门禁只答有确定答案的问题:受管登记表、队列守卫、CI 测试、复核记录在不在。 +- 判意图的仪器(放宽 tell、半状态巡查)只印读数 ⛔ 不挡落地,误报由席位一句话推翻。 +- 放宽 tell 由 `scripts/pm/check-widening-tells.mjs` 印 file:line,归达档复核裁。 +- 只报告的仪器不配 dev:⛔ 不立卡、不派 dev、不开 PR;它的在途工作只有删除。 +- 新增门禁、巡查行或棘轮须在卡上引维护者原话,⛔ 无原话不新增;首行四件恒硬。 +- 工具位只有一个,先花在删除上;`dispatch-gates.mjs` 冻结,只在它喂的 workflow 坏了时碰。 +- 出处:维护者 2026-09-21 逐字「19491 接受你的建议,并立刻派发处理相关任务。」 diff --git a/AGENTS.md b/AGENTS.md index cc3cea27686..aae520372c8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -272,11 +272,11 @@ localStorage / auth gotchas. ONE batch of at most five rows, and the click stays the maintainer's. **Tier S** (席内达档复核落地: all of `.claude/**`): those four lift once the PR thread or its card carries a `## Contract review` record for the PR's current head with `Served-tier: CONTRACT_REVIEW_TIER` and a PASS verdict, `check-clause2-carriers.mjs --pair N` - reads 0 and every check is green — the owning seat then lands it through the queue; the post-merge audit is the - compensating control. A PR whose only governed paths are register rows the queue leg regenerates byte-exact clears - with zero approvals — an uncertified recompute, drift or a hand-authored sibling keeps it governed. ⛔ **No agent - seat submits an approving review on a governed-surface PR, under any account** — an authorized account is - agent-operated too; "CI is green" carries no information about a governance change. + reads 0 on its definite rows (⛔ never C5) and every check is green — the owning seat then lands it through the + queue; the post-merge audit is the compensating control. A PR whose only governed paths are register rows the queue + leg regenerates byte-exact clears with zero approvals — an uncertified recompute, drift or a hand-authored sibling + keeps it governed. ⛔ **No agent seat submits an approving review on a governed-surface PR, under any account** — + an authorized account is agent-operated too; "CI is green" carries no information about a governance change. **Already armed or queued when you read this?** Convert it back to **draft** AND disable auto-merge — draft is what removes queue membership, disabling alone drops only the arming — then confirm from the remote that it is in From f706aca132bce2ceb39bc6dd72d9dee70e3c4c53 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 21 Sep 2026 04:36:39 +0000 Subject: [PATCH 2/4] docs(pm-dispatch): say report-only in the words the charter greps for MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The definite-row line names C5 as 只报告 rather than leaving it to inference, and the 仪器纪律 reference binds the name C5 to the widening tell it is. Claude-Session: https://claude.ai/code/session_012GcsUbuqFGBibkEDMRC1eE Co-Authored-By: Claude --- .claude/skills/pm-dispatch/references/contract-review.md | 2 +- .claude/skills/pm-dispatch/references/instrument-discipline.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/skills/pm-dispatch/references/contract-review.md b/.claude/skills/pm-dispatch/references/contract-review.md index 5a54fc06769..b91b930e075 100644 --- a/.claude/skills/pm-dispatch/references/contract-review.md +++ b/.claude/skills/pm-dispatch/references/contract-review.md @@ -41,7 +41,7 @@ - 落地前检三条:① 达档条款②复核 PASS 在案,即 PR 或卡上同形复核记录(spec、skills 每轮)。 - ② 双载体已清,逐对机读 `PM_SWEEP_REPO=仓 node scripts/pm/check-clause2-carriers.mjs --pair N`。 - 0 = 确定性行全清;4 = 任一不成立,只确定性行红才挡落地;3 = 环境答不了 ⛔ 不作干净。 -- 确定性行 = 复核记录在案、`Served-tier:` 在、双载体一致、认领形;C5 放宽 tell 归复核裁。 +- 确定性行 = 记录在案、`Served-tier:`、双载体一致、认领形;C5 放宽 tell 只报告,归复核裁。 - ③ PR check 全绿,⛔ 非 required 子集;例外:merge-base 同签名的红不计、按设计而红见 SKILL.md。 - 签名 = 失败步 + 首错行,读 base check runs 的 API ⛔ 不凭口述;主干红止血立单不变。 diff --git a/.claude/skills/pm-dispatch/references/instrument-discipline.md b/.claude/skills/pm-dispatch/references/instrument-discipline.md index 6d4ffc426a2..5784a68a309 100644 --- a/.claude/skills/pm-dispatch/references/instrument-discipline.md +++ b/.claude/skills/pm-dispatch/references/instrument-discipline.md @@ -4,7 +4,7 @@ - 硬门禁只答有确定答案的问题:受管登记表、队列守卫、CI 测试、复核记录在不在。 - 判意图的仪器(放宽 tell、半状态巡查)只印读数 ⛔ 不挡落地,误报由席位一句话推翻。 -- 放宽 tell 由 `scripts/pm/check-widening-tells.mjs` 印 file:line,归达档复核裁。 +- 放宽 tell(C5)由 `scripts/pm/check-widening-tells.mjs` 印 file:line,归达档复核裁。 - 只报告的仪器不配 dev:⛔ 不立卡、不派 dev、不开 PR;它的在途工作只有删除。 - 新增门禁、巡查行或棘轮须在卡上引维护者原话,⛔ 无原话不新增;首行四件恒硬。 - 工具位只有一个,先花在删除上;`dispatch-gates.mjs` 冻结,只在它喂的 workflow 坏了时碰。 From fec2177089b0628cb9692739b69aae4514f25ed0 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 21 Sep 2026 04:38:59 +0000 Subject: [PATCH 3/4] docs(pm-dispatch): keep the two landing tiers inside the pre-check block MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The tier outcome rides the 落地前检三条 line itself, so the director lane's pointer at this block still resolves after the standalone tier line left. Claude-Session: https://claude.ai/code/session_012GcsUbuqFGBibkEDMRC1eE Co-Authored-By: Claude --- .claude/skills/pm-dispatch/references/contract-review.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.claude/skills/pm-dispatch/references/contract-review.md b/.claude/skills/pm-dispatch/references/contract-review.md index b91b930e075..f0dce1c8839 100644 --- a/.claude/skills/pm-dispatch/references/contract-review.md +++ b/.claude/skills/pm-dispatch/references/contract-review.md @@ -38,7 +38,7 @@ - 两者同 session ⇒ 报 SELF-REVIEW;只 `mode:remote` 可达,`mode:subagent` 席内审是设计;值紧跟冒号。 - 清标即落地:PASS ⇒ 同席同笔剥双载体;清标同笔落 PR provenance 评论,引记录 id 与所判 head。 - 轮次报告设复审清单专节,形状与代裁清单同为强制审计。 -- 落地前检三条:① 达档条款②复核 PASS 在案,即 PR 或卡上同形复核记录(spec、skills 每轮)。 +- 落地前检三条,过则 Tier S 入队、Tier H 等人批:① 达档条款②复核 PASS 在案(同形记录)。 - ② 双载体已清,逐对机读 `PM_SWEEP_REPO=仓 node scripts/pm/check-clause2-carriers.mjs --pair N`。 - 0 = 确定性行全清;4 = 任一不成立,只确定性行红才挡落地;3 = 环境答不了 ⛔ 不作干净。 - 确定性行 = 记录在案、`Served-tier:`、双载体一致、认领形;C5 放宽 tell 只报告,归复核裁。 From 96774e44efec6ac4cf9ba63e5cd2392d729bc12e Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 21 Sep 2026 05:14:10 +0000 Subject: [PATCH 4/4] docs(pm-dispatch): the at-tier review is owed by the face a diff touches, not by lane MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The lane sentences that survived beside the new scope now say who runs the review, not who owes it: a diff touching any of the five shipping faces owes it, and 五面皆不碰 is the exemption. The published-schema face names its path, the miscount 三面 is gone, and the ruling record joins the provenance line. Claude-Session: https://claude.ai/code/session_012GcsUbuqFGBibkEDMRC1eE Co-Authored-By: Claude --- .claude/skills/pm-dispatch/SKILL.md | 4 ++-- .../skills/pm-dispatch/references/contract-review.md | 10 +++++----- .claude/skills/pm-dispatch/references/core-rules.md | 2 +- .../pm-dispatch/references/instrument-discipline.md | 1 + 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.claude/skills/pm-dispatch/SKILL.md b/.claude/skills/pm-dispatch/SKILL.md index bfc16c6a073..f9e8c2f70a3 100644 --- a/.claude/skills/pm-dispatch/SKILL.md +++ b/.claude/skills/pm-dispatch/SKILL.md @@ -530,7 +530,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - 机械放宽判别门禁落地前,入队前的席内契约复核是方向自述的补偿控制。 - 豁免够不到的地板只有维护者裁决能设。 - 席位档策略:skills 车道外的执行席与分诊席默认判断档会话。 -- 条款②复核按车道:spec 与 skills 席达档席内审;未达档 ⛔ 不自审,起隔离达档子代理。 +- 条款②自审资格按车道:spec 与 skills 席达档席内审;未达档 ⛔ 不自审,起隔离达档子代理。 - 降档出口两条:额度耗尽豁免,与主动预降(余量吃紧可预先降档)。 - 额度耗尽豁免仅当契约复审档实测不可用才落默认判断档,⛔ 不再往下。 - 降档的档位与理由记入认领评论 Container & model 行;档位逐次派发显式传参,永不省略。 @@ -644,7 +644,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报 - `--tier` 嫌疑行是提示非裁定;双肢命中任一 ⇒ 无达档条款②复核 PASS 在案 ⛔ 禁止入队。 - 路径肢 = diff 触及契约面 `packages/spec/src/**`,含 error-code-ledger 与 `*.zod.ts` 契约 schema。 - 声明肢 = 认领评论声明 `Clause-②: yes`,与路径无关;错误的 `no` 是可审计的假申报。 -- 交付后复核只 spec 与 skills 车道欠,每轮达档:席内审或起子代理;双肢命中即 spec 车道。 +- 交付后复核按面欠 ⛔ 不按车道(五面见 `references/contract-review.md`);双肢命中即 spec 车道。 - 子代理起不来 ⇒ 复核缺席,PR 留 draft 队列外等档;唯一旁路是维护者亲审,逐次为准。 - PASS ⇒ 同席剥标并引记录、ready、auto-merge;FAIL ⇒ 补丁轮;⛔ 免复核不放行。 - 真正设计分叉照旧进决策箱,席内复核 ⛔ 不替代维护者裁定。 diff --git a/.claude/skills/pm-dispatch/references/contract-review.md b/.claude/skills/pm-dispatch/references/contract-review.md index f0dce1c8839..b6a5deb76dd 100644 --- a/.claude/skills/pm-dispatch/references/contract-review.md +++ b/.claude/skills/pm-dispatch/references/contract-review.md @@ -19,12 +19,12 @@ - 重挂前先查裁决:闸门标签缺失 ⇒ 先 grep 卡评论找复审结论;`get_reviews` 读空 ≠ 未复审。 - PASS + 无标 + head 未动 = 已清标不是被剥;head 后移或无结论才重挂;清标缺引记录即半态。 -## 复核归属与资格(按车道) +## 复核归属与资格(按面) -- 归属派发席,交付后收集复核当轮完成;只 spec 与 skills 车道欠,新 spec 工作恒归 spec 席。 -- 按车道:spec 与 skills 席审契约增量;达档席内审,未达档 ⛔ 不自审,起达档子代理。 -- 复核面 = 出货给用户或 agent 的:`content/docs/**`、`apps/docs/**`、CHANGELOG/`.changeset` 散文。 -- 同含已发布 schema 与 governed 规则文本;三面皆不碰 ⇒ CI 加席位自读,⛔ 不起第二个 agent。 +- 欠不欠按面判 ⛔ 不按车道:diff 碰下列任一面即欠达档复核,交付后当轮完成。 +- 复核面 = 出货给用户或 agent 的五处:`content/docs/**`、`apps/docs/**`、CHANGELOG/`.changeset` 散文。 +- 加已发布 schema(`packages/spec/src/**` 非测试)与 governed 规则文本(统一定义见 SKILL.md)。 +- 五面皆不碰 ⇒ CI 加席位自读 ⛔ 不起第二个 agent;谁跑 = 派发席,达档者席内审。 - 复核记录 = 一条评论落 PR 或卡,席内与子代理同形;散文、dev 自评、`os-dev-report` 恒不算。 - 同形 = `## Contract review` 题头、所审 head sha 独占码段、①②③ 逐项、独立性对、PASS/FAIL。 - 同形含首行 `Served-tier:`:值写常量名 `CONTRACT_REVIEW_TIER`;无此行不成裁决,模板见 `--template`。 diff --git a/.claude/skills/pm-dispatch/references/core-rules.md b/.claude/skills/pm-dispatch/references/core-rules.md index c2e02641f3c..eb99b7d036b 100644 --- a/.claude/skills/pm-dispatch/references/core-rules.md +++ b/.claude/skills/pm-dispatch/references/core-rules.md @@ -110,7 +110,7 @@ - 认领原子对:一次标签写入完成认领与状态对调,随后留 `Claim:` 开头的评论并重读全线程。 - 更早的他会话认领即让行并交出已诊断的一切;认领人不可达即接管,⛔ 不判死活。 - dev 自死不等于维护者中止,需显式信号;接管一条评论四件齐,只救已 push 的分支。 -- 一单一次派发,档位逐卡显式传参;语义面卡恒契约复审档施工,契约复核只 spec、skills 欠。 +- 一单一次派发,档位逐卡显式传参;语义面卡恒契约复审档施工,契约复核按面欠不按车道。 - 派发词 ⛔ 不整段粘贴 issue 正文,只带增量,并要求子代理自查正文完整性。 - 派发词分三区:裁决不可重裁、机制假设须实测、建议路线可换,⛔ 不把假设写成裁决。 - 标准非协商条款 ⛔ 不抄进派发词,清单、路径与行号在派发那一刻从树上取。 diff --git a/.claude/skills/pm-dispatch/references/instrument-discipline.md b/.claude/skills/pm-dispatch/references/instrument-discipline.md index 5784a68a309..a260eea766b 100644 --- a/.claude/skills/pm-dispatch/references/instrument-discipline.md +++ b/.claude/skills/pm-dispatch/references/instrument-discipline.md @@ -9,3 +9,4 @@ - 新增门禁、巡查行或棘轮须在卡上引维护者原话,⛔ 无原话不新增;首行四件恒硬。 - 工具位只有一个,先花在删除上;`dispatch-gates.mjs` 冻结,只在它喂的 workflow 坏了时碰。 - 出处:维护者 2026-09-21 逐字「19491 接受你的建议,并立刻派发处理相关任务。」 +- 裁决记录:裁决 208,卡 19491,评论 5755284987(编号不带 # 前缀,id-lint 拒)。