Skip to content

Commit 5e54868

Browse files
committed
docs(os-dev): run the scoped platform-checklist check before push on an exported-symbol rename or removal
Two rule lines in the dev contract's 〈本地验证范围〉 section, beside the trigger-shaped rules: a diff that renames or removes an exported symbol runs `node scripts/check-platform-checklist.mjs --changed-from origin/main` before push, and the verdict line is recorded verbatim in the report's `gates` field; the run is not a derived family, so `--commands` never lists it and `--ran` reports it as outside the derivation, not an error. The os-dev.md ceiling moves 402 → 404 as an ordinary ruled raise (the ruling of record that orders the text, under the ratchet header's ruled-raise clause); the comment block above the row carries the measurement: the ruled content does not fit one 120-byte line (tightest one-line spelling 125 B), and the two lines land at 119 B and 119 B. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqGhCg9wdsBXPz54uAEWg7
1 parent 140238a commit 5e54868

2 files changed

Lines changed: 23 additions & 1 deletion

File tree

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,8 @@ model: opus
139139
- 仅 diff 改该项目测试或派生清单点名它时本地跑,否则 `deviations` 写明;席位 ACCEPT 读其 CI。
140140
- ③ 读到改动文件的门禁族 = `--commands` 派生清单(按 diff 收窄);派发词清单与全农场归 CI。
141141
- 新 fake engine ⇒ `check:engine-double-contract`;新错误码 ⇒ `check:error-code-casing`。
142+
- 改名或删除导出符号 ⇒ push 前跑 `node scripts/check-platform-checklist.mjs --changed-from origin/main`。
143+
- 判定行原样记 `gates`;它非派生族,不在 `--commands` 清单,`--ran` 只把它列为派生外、不报错。
142144
- ④ 报告 `gates`:CI 跑的每族引 PR check-runs(名+结论),⛔ 不本地重跑;`--ran` 只对账本地子集。
143145
- 推导用 `node scripts/pm/dispatch-gates.mjs --commands` 不传路径,脚本自己从 merge-base 取变更集。
144146
- 变更集含未提交与未跟踪;跑完把已跑清单交给 `--ran <file>` 对账,未跑的本地族它会点名。

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

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1432,7 +1432,27 @@ export const CEILINGS = new Map([
14321432
// convention (lowering is always legitimate). Lowered 403 → 402 when the
14331433
// retired contract-review label's reporting line left (ruling record
14341434
// 5770886272 on #19061).
1435-
['.claude/agents/os-dev.md', 402],
1435+
// Raised 402 → 404 by the scoped-checklist ruling — an ORDINARY raise, ⛔ not
1436+
// a cross-file move (card #23665). The text is two rule lines beside the
1437+
// trigger-shaped rules in 〈本地验证范围〉: a PR that renames or removes an
1438+
// exported symbol runs the scoped platform-checklist check on its changed
1439+
// files before push (`node scripts/check-platform-checklist.mjs
1440+
// --changed-from origin/main`, the mode's own spelling) and records the
1441+
// verdict line verbatim in its report's `gates` field; the run is not a
1442+
// derived family — `--commands` never lists it, and `--ran` reports it as
1443+
// outside the derivation, not an error. Ordered by ruling record 6190922830
1444+
// on #23653 (letter C, item 3); maintainer, 2026-10-15, verbatim and
1445+
// untranslated: 「C (推荐)」. The ruling sized the text as one line; measured,
1446+
// the ruled content does not fit one under the 120-byte cap: the command
1447+
// alone is 70 B in its code span, the tightest one-line spelling carrying
1448+
// trigger, command and the `gates` clause is 125 B, and the two lines land
1449+
// at 119 B and 119 B. Authorized under ruling record 6184799323 on #23606
1450+
// (letter B, item 1; maintainer 「同意」): a ruling of record that orders text
1451+
// into a ratcheted file raises that file's ceiling by the measured lines the
1452+
// text needs, the ruling id and the delta quoted in the raising PR's body.
1453+
// Not a CROSS_FILE_MOVES destination, so no `ruledRaises` record applies.
1454+
// Landed count, headroom 0, same convention.
1455+
['.claude/agents/os-dev.md', 404],
14361456
// #9473: the other four `.claude/skills/` are read in full by the sessions
14371457
// that use them too — the erosion mechanism the ratchet exists to stop
14381458
// isn't specific to the pm-dispatch surface. Set at current counts on

0 commit comments

Comments
 (0)