Skip to content

Commit d656dbb

Browse files
committed
pm(skills): retire the label riders from the agent text and lower the ratchet rows
os-dev.md, SKILL.md, the director and ui lane files, state-machine.md, dispatch-runbook.md, platform-readings.md and AGENTS.md Prime Directive #14 stop telling a seat to hang, read or expect the retired label, --pair, the double carrier or the downgrade fuse; the record-only contract stays. Ratchet rows for os-dev.md (403 → 402) and state-machine.md (42 → 41) follow the landed counts. Claude-Session: https://claude.ai/code/session_01Wnstp2kTth7sGXfr8fXypc Co-authored-by: Claude <noreply@anthropic.com>
1 parent b1eb93c commit d656dbb

9 files changed

Lines changed: 22 additions & 21 deletions

File tree

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,6 @@ model: opus
300300
- PR 改到已有的 `.changeset/*.md`:⛔ 永不打 `skip-changeset`,门禁红着是对的,确认走 PR 文字。
301301
- objectstack:标签是真实机制,打标签是你的默认步骤,PR 一开出就打;派发词可收窄或禁写。
302302
- 范围 = 派发词点名的标签 + 上文判据下的 `skip-changeset`;禁写或交集为空 ⇒ 零写并报告。
303-
- `needs:contract-review` 归席位,⛔ 不挂不摘不等;报 PR 上有无与 `--pair PR-NUMBER` 退出码作读数。
304303
- 写恒经 `scripts/pm/label-write.mjs`:取现集、加法 POST、回读比 union、缺者重挂一次并报告。
305304
- 读回只检测剥除防不了(size-labeler 整组 PUT),门标签被剥恰成绿灯;加法写同样必要不充分。
306305
- 关此步骤的是读回不是写入;读回只验写落了,验不出有门在读:幻影门标签读回照样成功。

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -766,7 +766,7 @@ PM 的工作是循环:选卡 → 认领 → 派发 → 收集 → 复核 → 报
766766
- `AskUserQuestion` 只是在场加速器:仅当维护者在本会话 ~30 分钟内有过人类输入才可发。
767767
- 每问必带推荐项,被 Skip 或长挂即转卡通道,⛔ 不重弹。
768768
- 项目总监席:维护者在所在仓召唤 `/pm-dispatch director`;⛔ 无 Routine/cron;未回字 = 不在 = 停。
769-
- 三职 = `needs:contract-review` 事后审计、决裁勤务、维护者动作台账。
769+
- 三职 = 契约复核记录事后审计、决裁勤务、维护者动作台账。
770770
- 每场召唤把带席内 ACCEPT 的受管草稿呈为一批 ≤5 行决裁;批准与合并仍是维护者的点击。
771771
- 总监席档位由维护者按项目人工定,每场记入摘要台账;⛔ 无档位硬门、无免档整理态。
772772
- 总监席是唯一裁决者:决策箱、代裁与一类自裁只出自本席,⛔ 无子代理无自述。

‎.claude/skills/pm-dispatch/references/dispatch-runbook.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@
158158

159159
- 衍生 sub-issue:认领席同笔写父卡域与优先级、附查重词后派发;父卡 checklist 评论记一行。
160160
- 无主阻塞项:只做 `Blocked-by:` 点名的那一张,做完即回,⛔ 不顺手接第二张。
161-
- 无主阻塞项的契约面(含 `packages/spec`)走 `contract-review.md` 独立性件的隔离达档复核。
161+
- 无主阻塞项的契约面(含 `packages/spec`)按 `contract-review.md` 欠达档复核记录。
162162
- 在飞阻塞项:等待者在阻塞卡留一行点名自卡;父卡 p0/p1 ⇒ 阻塞卡同笔升同级,沿链重复。
163163

164164
## 停摆复位梯度

‎.claude/skills/pm-dispatch/references/lanes/director.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@
2424
- 创业阶段不渐进:废弃别名与能力退役默认立即退休,无窗口、无双拼写宽限。
2525
- 一次裁清:子问题、分叉与执行参数(字母、车道、级别)同笔裁定,⛔ 不留 dev 另立决策卡。
2626

27-
## 职责一:`needs:contract-review` 事后审计与抽查(可选)
27+
## 职责一:契约复核记录事后审计与抽查(可选)
2828

2929
- 本职是审计位,非放行链:放行常设归派发席席内复核,归属与全链见 `../contract-review.md`。
30-
- 召唤时枚举载体(卡与 PR 两侧)与近期落地的条款② PR,查复核质量与漏网。
30+
- 召唤时枚举近期落地的受管 PR 及其 `## Contract review` 记录,查复核质量与漏网。
3131
- 非机械 CI 红交回具名读者;机械红可接手,经派发 dev 执行。
3232
- 处理三分支之一,收尾 PASS 且工已完 ⇒ 跟到合并为止。
33-
- 非受管 code PR 走清标即落地全链;受管面两层落地见 `../contract-review.md` 落地前检③。
33+
- 非受管 code PR 绿加 ACCEPT 即入队落地;受管面两层落地见 `../contract-review.md` 落地前检②。
3434
- 到合并 = 推进到就绪并点名等待,⛔ 不代维护者合并。
35-
- 之二,大的错误 FAIL 或 REWORK ⇒ 改标签即交接,端态按 `../contract-review.md` 载体纪律。
35+
- 之二,大的错误 FAIL 或 REWORK ⇒ 改 `pm:*` 标签即交接,记录留在 PR 或卡上。
3636
- ⛔ 散文点名不是交接:标签才是收件箱,散文对候选查询与 sweep 全不可见。
3737
- 之三,卡在决策卡 BLOCKED ⇒ ⛔ 不擅断:并入决裁批次,按基本原则格式与维护者讨论。
3838

‎.claude/skills/pm-dispatch/references/lanes/ui.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@
3535
- 零读数恒配点亮的正控,且正控须经被测机制本身生效;本仓 search 假零,查重只引命中。
3636
- 脚本能滚动不证明用户能滚动:可达性断言必须驱动真实输入管道。
3737
- 落地验证按内容,正控须在合并前证明会响,⛔ 不按 sha 判已落地。
38-
- 条款②复核本席适用:默认判断档自审加门禁,标照挂;豁免只有独立性件与降档保险丝。
38+
- 条款②复核本席适用:按面欠达档复核记录,落 PR 或卡,归属与资格见 `../contract-review.md`。

‎.claude/skills/pm-dispatch/references/platform-readings.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
- `list_pull_requests` 的 `fields` 请求 `merged_by` 不返回该字段 ⇒ 字段缺席不是值读数。
2424
- `mergeable_state` 惰性计算,`unknown` 不是读数 —— 挂 unknown 等于挂在可能脏的头上。
2525
- `dirty` 即入队否决(冲突对象是当前 main);draft PR 照答 `clean`/`blocked`/`unknown`,不答 `draft`。
26-
- `needs:contract-review` 是合并闸:实测 `blocked` 而 `mergeable: true`,无标签同形兄弟回 `clean`。
26+
- `mergeable_state: blocked` 且 `mergeable: true` = 规则或必需检查在挡,非冲突;无阻兄弟回 `clean`。
2727
- ready 翻转实测两序列 `clean→blocked→clean` 与 `blocked→unstable→clean`;`unstable` 瞬态非失败。
2828
- `unstable` 可源自 check-runs 看不见的 commit STATUS(如 `Vercel`)⇒ ③ 另读 `/commits/{sha}/status`。
2929
- 零 legacy status 的仓恒答空集默认值 `pending`+`total_count: 0`,⛔ 非门禁读数,门禁读 check-runs。

‎.claude/skills/pm-dispatch/references/state-machine.md‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@
55
## 跨状态通则
66

77
- 六态 = `pm:{queue,dispatched,blocked,on-hold,awaiting-maintainer}` 加 `needs-user-decision`。
8-
- 六态 ONE-OF 的成因恒是半写的转换;判定以 `check-half-states.mjs` 的 H29/H30/H31 为权威。
8+
- 六态 ONE-OF 的成因恒是半写的转换;判定以 `check-half-states.mjs` 的 H29/H30 为权威。
99
- 生成物不分叉:`skills/**` 生成器产物跑 `check-governed-merges.mjs --test`,⛔ 不按路径手判。
10-
- `needs:contract-review` 卡侧先挂而 PR 尚不存在是合法中间态,⛔ 不读作半写。
1110
- 交接即标签:只写交接评论而不同笔挂标 = 空交接,收件箱只认标签。
1211

1312
## `pm:on-hold`

‎AGENTS.md‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -275,12 +275,12 @@ localStorage / auth gotchas.
275275
spent once per PR — the OWNING seat then lands it, later pushes included; the director seat requests the word as
276276
ONE batch of at most five rows, and the click stays the maintainer's. **Tier S** (席内达档复核落地: all of
277277
`.claude/**`): those four lift once the PR thread or its card carries a `## Contract review` record for the PR's
278-
current head with `Served-tier: CONTRACT_REVIEW_TIER` and a PASS verdict, `check-clause2-carriers.mjs --pair N`
279-
reads 0 on its definite rows (⛔ never C5) and every check is green — the owning seat then lands it through the
280-
queue; the post-merge audit is the compensating control. A PR whose only governed paths are register rows the queue
281-
leg regenerates byte-exact clears with zero approvals — an uncertified recompute, drift or a hand-authored sibling
282-
keeps it governed. ⛔ **No agent seat submits an approving review on a governed-surface PR, under any account** —
283-
an authorized account is agent-operated too; "CI is green" carries no information about a governance change.
278+
current head with `Served-tier: CONTRACT_REVIEW_TIER` and a PASS verdict and every check is green — the owning
279+
seat then lands it through the queue; the post-merge audit is the compensating control. A PR whose only governed
280+
paths are register rows the queue leg regenerates byte-exact clears with zero approvals — an uncertified
281+
recompute, drift or a hand-authored sibling keeps it governed. ⛔ **No agent seat submits an approving review on a
282+
governed-surface PR, under any account** — an authorized account is agent-operated too; "CI is green" carries no
283+
information about a governance change.
284284

285285
**Already armed or queued when you read this?** Convert it back to **draft** AND disable auto-merge — draft is
286286
what removes queue membership, disabling alone drops only the arming — then confirm from the remote that it is in

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -404,8 +404,9 @@ export const CEILINGS = new Map([
404404
// (maintainer ruling: provenance narratives, incident post-mortems and rationale
405405
// tails leave the corpus; one rule per ≤120-byte line, no rule already stated in
406406
// SKILL.md). Landed count, headroom 0, same convention (lowering is always
407-
// legitimate).
408-
['.claude/skills/pm-dispatch/references/state-machine.md', 42],
407+
// legitimate). Lowered 42 → 41 when the retired contract-review label's
408+
// card-side-first line left (ruling record 5770886272 on #19061).
409+
['.claude/skills/pm-dispatch/references/state-machine.md', 41],
409410
// Raised 48 → 51 by the clause-② CONTENT-limb applicability ruling (maintainer
410411
// 2026-08-31, 第 6 场总监席决裁批 #12, verbatim 「同意」, adopting A + C: published
411412
// `skills/**` changes making a falsifiable operator/contract semantic claim fall
@@ -1339,8 +1340,10 @@ export const CEILINGS = new Map([
13391340
// narratives, incident post-mortems and rationale tails leave the corpus; one
13401341
// rule per ≤120-byte line; the frontmatter, section order, pinned spellings and
13411342
// the report JSON keep their operative content). Landed count, headroom 0, same
1342-
// convention (lowering is always legitimate).
1343-
['.claude/agents/os-dev.md', 403],
1343+
// convention (lowering is always legitimate). Lowered 403 → 402 when the
1344+
// retired contract-review label's reporting line left (ruling record
1345+
// 5770886272 on #19061).
1346+
['.claude/agents/os-dev.md', 402],
13441347
// #9473: the other four `.claude/skills/` are read in full by the sessions
13451348
// that use them too — the erosion mechanism the ratchet exists to stop
13461349
// isn't specific to the pm-dispatch surface. Set at current counts on

0 commit comments

Comments
 (0)