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
2 changes: 2 additions & 0 deletions .claude/agents/os-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,8 @@ model: opus
- ② 受影响包自己的 `pnpm test` / `pnpm typecheck`,用 `--filter` 圈定。
- 受影响包 = 本包;import 方只在公开面变化时欠测试:spec 契约、发布的 `exports`、线上形状。
- 公开面字节不变 ⇒ 只欠本包测试与派生门禁,⛔ 不给每个 import 方补测试。
- ② 不含 `test:repo`(vitest `repo` 项目):它归 CI,`Test Core` 在 PR 与 merge group 都跑。
- 仅 diff 改该项目测试或派生清单点名它时本地跑,否则 `deviations` 写明;席位 ACCEPT 读其 CI。
- ③ 读到改动文件的门禁族 = `--commands` 派生清单(按 diff 收窄);派发词清单与全农场归 CI。
- 新 fake engine ⇒ `check:engine-double-contract`;新错误码 ⇒ `check:error-code-casing`。
- ④ 报告 `gates`:CI 跑的每族引 PR check-runs(名+结论),⛔ 不本地重跑;`--ran` 只对账本地子集。
Expand Down
3 changes: 3 additions & 0 deletions .claude/skills/pm-dispatch/references/execution-duties.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,9 @@
- 拒收用例 ⇒ `code`+`status` 最低断言;过滤/谓词语义 ⇒ 编译面清单逐面申报,⛔ 静默略过。
- 资源与后端:S 级机械 + M ⇒ `mode:subagent`;S 级但不机械(判断面在设计不在门禁)按 M 待遇。
- `mode:cloud` 只保留给 L/XL、活过 PM 会话的工作、浏览器/dogfood 验证;build 重的 M 卡逐卡判。
- 申报文件面写 `packages/spec/src/**` 且至少另一包 ⇒ build 重,派 `mode:cloud`,一卡一容器。
- 一容器同时至多跑一个 build 重子代理;云会话建闭包拉 turbo 远程缓存。
- 首张这类派发实测固定开销(安装 + 拉缓存)并记在其卡上。
- 归档义务只落在云卡;OOM 死的单独重派;判定连同档位写进认领评论。
- 一次性云卡用 `create_session`,⛔ 不用 create_trigger+fire;trigger 流只留给定时/重复型。
- 云会话 `SendMessage` not-reachable 是设计非故障,⛔ 不复测。
Expand Down
22 changes: 21 additions & 1 deletion scripts/pm/check-skill-line-ratchet.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -1259,7 +1259,27 @@ export const CEILINGS = new Map([
// the text needs, the ruling id and the delta quoted in the raising PR's body.
// This file is not a CROSS_FILE_MOVES destination, so no `ruledRaises` record
// applies. Landed count, headroom 0, same convention.
['.claude/skills/pm-dispatch/references/execution-duties.md', 185],
// Raised 185 → 188 by the build-heavy routing ruling — an ORDINARY raise, ⛔
// not a cross-file move (card #23607). The text is three rule lines beside the
// `mode:cloud` line in 〈派发〉: a card whose declared file surface writes
// `packages/spec/src/**` and at least one other package is build-heavy and is
// dispatched `mode:cloud`, one container per such card; a container runs at
// most one build-heavy subagent at a time; the cloud session pulls the turbo
// remote cache for the closure, and the first such dispatch measures its fixed
// cost (install plus cache pull) and records it on its card. Ordered by ruling
// record 6184828752 on #23607 (letters F1 A · F2 A, item 2); maintainer,
// 2026-10-15, verbatim and untranslated: 「同意」. Three lines, measured: the
// tightest one-line spelling of the ruled content is 245 B against the
// 120-byte cap, and neither two-line split fits — the test with the
// per-container limit is 137 B at its tightest, the limit with the cache and
// fixed-cost parts 141 B; the three lines land at 112 B, 95 B and 79 B.
// Authorized under ruling record 6184799323 on #23606 (letter B, item 1;
// maintainer 「同意」), the ruling id and the delta quoted in the raising PR's
// body. The same ruling's F1 lines in `.claude/agents/os-dev.md` (+2) fit
// that file's standing headroom, so its row does not move. Not a
// CROSS_FILE_MOVES destination, so no `ruledRaises` record applies. Landed
// count, headroom 0, same convention.
['.claude/skills/pm-dispatch/references/execution-duties.md', 188],
// New file, landed at its own count (headroom 0, same convention as every
// entry above): the filing gate and the grading/reading criteria the triage
// seat applies. A new pm-dispatch references file belongs in this map by the
Expand Down
Loading