Skip to content

Commit 77392e9

Browse files
docs(os-dev): name the harness attribution-line exemption in 〈干净收尾〉; Check Changeset reads the PR body (#25393)
Fixes #25220 Clause-②: no Metadata-protocol: none `.claude/agents/os-dev.md` only, net zero lines (404 → 404; ceiling 404 untouched). One exemption line under 〈干净收尾〉's HTML-comment ban: the harness-written attribution comment on PR body line 1 stays exactly as the harness gives it and the dev reports it; `Fixes #N` then sits on the first line after it; every HTML comment the dev writes itself stays banned. Paid by deleting the `cdn.playwright.dev` 403 line (moot under the `playwright install` ban directly above it). Carry-over from PR #25240's contract review: the changeset-line rule now says `Check Changeset` reads the two declaration lines off the PR body (`scripts/check-changeset-no-major.mjs` `declarationFromPullRequest`, `readClause2Line(pr.body)` / `readMetadataProtocolLine(pr.body)`); the changeset-body copy is AGENTS.md Post-Task Checklist ③'s publishing rule (`check:adr-0087-registration` reads it there). Every changed line is ≤120 bytes; no re-wrap. ## 维护者速读(草稿) **改了什么**:`os-dev.md` 两处。① 〈干净收尾〉HTML 注释禁令下加一行例外:harness 自写的 PR 正文首行归属注释原样留、只报;`Fixes #N` 紧随其后;dev 自写的 HTML 注释仍禁。② 「两行同抄进 changeset 正文行首」一行改为写明 `Check Changeset` 读的是 PR 正文。为付行数,删掉 Toolchain traps 里 `cdn.playwright.dev` 403 那一行(上一行已禁 `playwright install`,该情形不再出现)。 **为什么改**:项目线程的 harness 要求 PR 正文第一行是一条 HTML 注释归属行,与 os-dev.md 的 HTML 注释禁令必然冲突,此前每张卡都只能记一条 deviation。② 来自 PR #25240 的合同复核:门禁实际读 PR 正文(`check-changeset-no-major.mjs`),原句写成读 changeset,会误导。 **风险与代价(含回滚)**:仅规则文本,不发布、不改脚本。风险是删掉的 403 一行所载的教训丢失(被上一行规则覆盖)。回滚 = revert 本 PR 一个 commit。 **席位意见**: **你要做的**:席位的 `CONTRACT_REVIEW_TIER` PASS 落在本 head 之后,一句「objectstack-ai/objectstack#N 可以落地」(N 为本 PR 号)。 ## Gates Derived with `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` at `fc7b53ff` (20 commands); all 20 ran on the working tree that became `da46daf`, each exit code captured before any pipe; `--ran` reconciliation: 20 derived, 20 run, 0 NOT-MEASURED, 0 UNRUN. All exit 0, including `pnpm check:pm-skill-ratchet` (`os-dev.md is 404 lines (ceiling 404; headroom 0)`) and `pnpm check:pm-skill-id-lint`. `check:doc-formula-expressions` exit 0 (no prerequisite build needed). CI-only families (type-check lanes, wide-population and roster families) are read off this PR's check-runs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01REMuzhz6MWRjg8uohedMnM Co-authored-by: Claude <noreply@anthropic.com>
1 parent 24bbd0b commit 77392e9

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ model: opus
125125
- objectui 把 typecheck 拼作 `type-check`(连字符);核对输出里确实回显了脚本名。
126126
- 浏览器验证:Chromium 已预装,`PLAYWRIGHT_BROWSERS_PATH` 指向 `/opt/pw-browsers`。
127127
- launch 传 `executablePath: '/opt/pw-browsers/chromium'`;⛔ 永不跑 `playwright install`。
128-
- `cdn.playwright.dev` 的 403 不是没有浏览器的证据:下载被拦不证明产物缺席,先找产物。
129128

130129
## 本地验证范围 —— 本地只跑定向门禁,全农场归 CI
131130

@@ -278,7 +277,7 @@ model: opus
278277
- 命令同 CI:按 ① 建闭包,锁下 `pnpm --filter @objectstack/dogfood test`;⛔ 无 `OS_TEST_SHARD`、无路径。
279278
- 红 = 本改动的后果(陈旧 fixture)同 PR 修,余照报;⛔ 永不跳过或收窄;计数记 `dogfood_battery`。
280279
- 认领的 `Clause-②:`、`Metadata-protocol:` 两行照抄进 PR 正文行首;无则零写,⛔ 不自造。
281-
- 两行同抄进每个 changeset 正文行首,`Check Changeset` 读:有 kind 即 `minor`,`none` 即 `patch`。
280+
- 两行同抄进 changeset 正文行首;`Check Changeset` 读 PR 正文:kind 即 `minor`,`none` 即 `patch`。
282281
- ⛔ 永不 `Fixes` 一张还在决策箱的卡:合并会静默关掉它,而收件箱过滤只读 open。
283282
- ⛔ 不写否定式的关单句,它照样关掉点名的卡:解析器无视否定,只匹配关键词 + `#<n>`。
284283
- 关键词是 `fix/fixes/fixed/close/closes/closed` 与 `resolve/resolves/resolved`;让它们远离其它卡号。
@@ -321,6 +320,7 @@ model: opus
321320

322321
- 全文 ⛔ 不出现 HTML 注释:sanitizer 落库后吃短尖括号片段,连反引号里的也吃。
323322
- 被吃掉标记的评论对 PM 扫描不可见;HTML 注释形不是等价写法,是坏写法。
323+
- 例外:harness 自写的 PR 正文首行归属注释原样留、只报;`Fixes #<n>` 紧随其后;dev 自写仍禁。
324324
- 凡要上 GitHub 的文本,尖括号形状片段一律改占位词拼写(`FIELD`、`IDENT.MEMBER` 一类)。
325325
- 各派发模式(`mode:subagent`、`mode:cloud`、`mode:thread`)下 GitHub 都是报告的权威源。
326326
- 写完读回那条评论到尾部:只认首行标记保不住正文,sanitizer 可从首个 tag 形片段吃到尾。

0 commit comments

Comments
 (0)