From a17f1a4064a6c5fef83ffc812e967e2b81881a54 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 7 Sep 2026 03:50:22 +0000 Subject: [PATCH] agents(os-dev), pm(references): carry the E3 standard and its three ruled boundaries The maintainer's E3 standard (a defect on a published surface is fixed in the round; non-published residue is carded and the PR lands) had no carrier in the agent corpus. Four rules-only lines, each fold-paid under an unchanged pin: - .claude/agents/os-dev.md: the dev's in-round obligation, beside the in-place repair block; paid by dropping the rationale tail under "GitHub is the authoritative report source". - references/review-checklist.md: the files[]-derived definition of "published" (spec ships src/**/*.zod.ts), the .js.map sourcesContent boundary, and the noticed-but-untouched boundary, beside the in-place repair and "private: false => published" review items; paid by dropping two rationale tails whose facts os-dev.md keeps, and folding one rule into its neighbour. Co-authored-by: Claude Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox --- .claude/agents/os-dev.md | 2 +- .claude/skills/pm-dispatch/references/review-checklist.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.claude/agents/os-dev.md b/.claude/agents/os-dev.md index 1c0a57e32e..55e071e4b3 100644 --- a/.claude/agents/os-dev.md +++ b/.claude/agents/os-dev.md @@ -60,6 +60,7 @@ model: opus - ③ 该文件无其他认领持有;④ 同一批门禁族,不新增验证面。 - 就地修欠两样:认领申报的文件面同轮增补;PR 正文点名该修复并附证据。 - 优先扩展一个守卫关掉整个类;任一条不成立 ⇒ 回默认:无 assignee 立单、列出、不碰。 + - 本轮改动令其变假或触碰的已发布缺陷必修;其余立卡并记明已发布面,PR 照常落地。 4. ⛔ 永不编辑 `content/docs/releases/`、force-push、推 `main`、合并任何东西。 - 用户可见的改动需要 `.changeset/*.md`。 5. **Contract-first。** 修复若诱使你在消费端加宽容回退(`??` 别名、宽松解析),缺陷在上游。 @@ -317,7 +318,6 @@ model: opus - 被吃掉标记的评论对 PM 扫描不可见;HTML 注释形不是等价写法,是坏写法。 - 凡要上 GitHub 的文本,尖括号形状片段一律改占位词拼写(`FIELD`、`IDENT.MEMBER` 一类)。 - 两种派发模式(`mode:subagent` 与 `mode:cloud`)下 GitHub 都是报告的权威源。 -- 返回消息是加速器,不是记录;只存在于返回消息里的报告随你的进程一起死。 - 写完读回那条评论到尾部:只认首行标记保不住正文,sanitizer 可从首个 tag 形片段吃到尾。 - PR 正文同欠一次全文回读,评审读的正是它。 diff --git a/.claude/skills/pm-dispatch/references/review-checklist.md b/.claude/skills/pm-dispatch/references/review-checklist.md index ffbe422d8a..e6bb762ac3 100644 --- a/.claude/skills/pm-dispatch/references/review-checklist.md +++ b/.claude/skills/pm-dispatch/references/review-checklist.md @@ -6,7 +6,6 @@ - PR 存在、是 draft、目标 `main`,正文首行引用卡片。 - `Fixes #` 仅当合并应当关卡;只落地了可实施的一半 ⇒ 必须 `Part of #`。 -- 否则合并静默关掉决策箱里的卡,而收件箱过滤只看 open。 - 切 `Part of` 的正文最易再武装自动关闭:否定句、记账句、引号包裹,解析器一律照关。 - 安全拼法 = 卡号旁零动词,关闭安排写进评论。 - 闭合关键词两读:翻 ready 前亲核首行、亲扫全正文,⛔ 关键词永不挨另一张 open 卡编号。 @@ -23,6 +22,9 @@ - objectui 无此标签,空 frontmatter changeset 即正确形态;⛔ 永不要求或铸出该标签。 - 就地修范围外的邻接缺陷 ⇒ 四条件逐条核:同缺陷类、机械、无他人认领、同门禁族。 - 再核 claim 文件面同轮已修订、PR 正文点名该修并载证据;缺一条即判 REWORK。 +- 已发布 = 各包 `files[]` 实际发运的内容;spec 发运 `src/**/*.zod.ts`,假 TSDoc/`.describe()` 即缺陷。 +- `.js.map` 的 `sourcesContent` 不算已发布:构建关闭其内嵌源码,关闭前也不计。 +- 本轮令其变假或触碰的已发布缺陷必修;只注意到、未触碰的立卡不修,记明已发布面。 - 每个被触及的包,`private: false` 即已发布 ⇒ 读 `package.json` 核 changeset 在不在。 - ⛔ 判据不是改动大小,也不是用户可见的感觉判断;⛔ 缺了不入队。 @@ -54,7 +56,6 @@ - 且真正非法形状的拒收断言仍逐字在,这是派发侧两句的对账。 - 拒收类用例的绿是不是它抛了的绿:判据是验收点含应当被拒收。 - 抽查 diff 里的拒收用例有没有断言 `code` 与 `status`(ADR-0112 信封)。 -- 只写 `toThrow()` 或 `rejects.toThrow()` 的用例在未修实现本就抛裸 Error 的那族上恒绿。 - 缺 `code`/`status` 断言判 REWORK 补齐,⛔ 不接受绿色输出。 - N 个包全绿要问清方向与时序,否则不算清扫证据;判据是含跨包签名收窄或契约收紧。 - 问一:filter 用的是前缀 `'...pkg'`(下游消费者)还是后缀 `'pkg...'`(上游依赖)。 @@ -65,9 +66,8 @@ - dev 验证过 issue 的前提吗:`premise_still_valid: false` 是再分诊输入不是失败。 - dev 纠正 PM 要当众认:更正落在 PR 或 issue 评论,错前提的正文另立跟进卡。 -- 报告清掉了它被要求停下的停条件 ⇒ 亲核证据再 ACCEPT。 +- 报告清掉了它被要求停下的停条件 ⇒ 亲核证据再 ACCEPT,⛔ 不接受结论散文。 - 判据是它报的证据面(搜了什么、找到什么)加 PM 自己在 `origin/main` 上的复核。 -- ⛔ 不接受结论散文:绕过去的报告与守约的长得一样。 - 验收判据本身也可被证伪:dev 用测量推翻字面判据、换上更强的不变量门禁照 ACCEPT。 - 但推翻过程必须写在 PR 正文并附 main 语料上的实测信噪比,否则按 REWORK 要证据。 - `+0/-0` 不是空文件的证明:NUL 字节让 git 当二进制渲染,还让文件对 grep 隐身。