From f99917506dd450c60c167f0486d06e0c22273fdf Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 18:46:54 +0000 Subject: [PATCH] =?UTF-8?q?docs(pm-dispatch):=20rule=20how=20clause=20?= =?UTF-8?q?=E2=91=A1=20is=20graded=20=E2=80=94=20provisional=20claim,=20me?= =?UTF-8?q?chanical=20floor,=20judged=20conformance?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The clause-② criterion carried no grading rule, so seats produced three materially different kinds of "yes" in a day and two conservative declarations were overturned at tier. This lands the ruling's answer in `references/contract-review.md`: - the claim-time `Clause-②: yes|no` declaration is PROVISIONAL by design — it fixes the conservative dispatch tier, and the real gate is the at-tier review at PR/report time, where the evidence and the cost live; a declaration overturned there is the mechanism working, not a seat fault; - the mechanical floor: any NEW exported symbol, or any NEW key on an already-published payload, is always `yes` — checkable in the tree at claim time, no judgement — and it locks the contract-review tier; - the conformance class is deliberately NOT mechanized (populating an already-declared field, re-selecting an input class between two published codes): it needs at-tier judgement, and a claim that cannot tell dispatches as `yes` — a false `yes` self-corrects, a false `no` ships. The full taxonomy and the claim-time decision procedure are both declined under the startup-scope lens, and that refusal is itself ruled content. Paid into the line ratchet first, in real deleted bytes and never a re-wrap: the 放行 bullet's restated FAIL / 卡在决策 triple (single source is SKILL.md's 条款②入队闸门, which this file's header already points at) and the 三样不变 clause (self-declared 「单源见主文件」, its governed-surface limb surviving in-file in 落地前检三条) went, taking that bullet from 6 lines to 4. The residual +5 is the ruled addition at its reasoned floor; the ceiling moves 60 → 65 on the ruling's own authorization, quoted verbatim beside the row. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01LraLgQVGq8egUwfYZpbYt1 --- .../pm-dispatch/references/contract-review.md | 13 +++++--- scripts/pm/check-skill-line-ratchet.mjs | 32 ++++++++++++++++++- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/.claude/skills/pm-dispatch/references/contract-review.md b/.claude/skills/pm-dispatch/references/contract-review.md index 760942651e..3d0a8cebff 100644 --- a/.claude/skills/pm-dispatch/references/contract-review.md +++ b/.claude/skills/pm-dispatch/references/contract-review.md @@ -7,6 +7,13 @@ - **适用性 —— 内容肢及于 published `skills/**`**(维护者 2026-08-31 批 #12「同意」):作**可证伪的 算子/契约语义主张**的改动挂标走本复核;⛔ 判据不是「提到契约」,纯算子清单、拼写、 格式不触发(标尺:10 处命中仅 3 处主张)。受管面人工合并 ⛔ 不替代复核,两道保障叠加。 +- **claim 声明按设计临时(provisional)**(维护者 2026-09-01「同意」):`Clause-②: yes|no` 只定 + 派发档位的保守方向,⛔ 非终审;真闸门在 PR/报告时的档位复核 —— 证据与成本在那里。 + 声明被档位推翻 = 机制按设计工作,⛔ 不作席位过失。 +- **机械地板(同笔;claim 时可查树、无需判断)**:任何**新导出符号**或**已发布载荷上的 + 新键**恒 `yes`,直接锁契约复审档。**conformance 类 ⛔ 不机械化**(填充已声明字段、在两 + 个已发布码之间重选输入类):判别需档位判断,claim 拿不准 ⇒ **按 yes 派契约复审档**(假 + yes 自纠、假 no 出货);⛔ 不建全量分类学与 claim 时决策程序(创业镜头:代价是复审轮)。 - **PR 与卡双载体同笔挂**(维护者 2026-08-22:「简化一点是否可以直接挂 PR 侧」「两边都挂好 」; PR 一存在即挂,报告先于 PR 到达则先挂卡侧、ACCEPT 时补齐 PR 侧),同笔在卡上记一行 条款②认定;停靠短暂(只防复核完成前误入队),⛔ 无「等外部席位」的无限期状态。 @@ -32,10 +39,8 @@ 自述复核,恒走本路径;子代理裁决按转录核验采信(下节),逐字采纳或整体作废。 - **放行 = 清标即落地**(维护者 2026-08-25,原话:「审核通过你应该直接负责合并吧,还要等原始 的项目经理吗」):PASS ⇒ 同席同笔剥标(双载体),清标评论引 2026-08-31 裁定作 provenance,按 - `landing-operations.md` 走落地前检 → 转 ready → 挂 auto-merge/入队;FAIL ⇒ 补丁轮;卡在决策 ⇒ - 只进决策箱,⛔ 永不自裁 —— 真正设计分叉照旧升级维护者;轮报设**复审清单**专节(同代 - 裁清单强制审计形状)。**三样不变**:受管面照旧 draft-only + 终局两条(人工直合或授权批准 - 钉 head 入队,单源见主文件)、⛔ 席位永不代批;FAIL / REWORK 原样;降档保险丝原样。 + `landing-operations.md` 走落地前检 → 转 ready → 挂 auto-merge/入队;轮报设**复审清单**专 + 节(同代裁清单强制审计形状)。 - **落地前检三条**(维护者 2026-08-31「同意」):① 席内契约档 PASS 在案(卡上达档裁决评论);② `needs:contract-review` 双载体已清;③ PR 全部 check 全绿(⛔ 非 required 子集)。② 逐对机读 `node scripts/pm/check-clause2-carriers.mjs --pair PR-NUMBER`:0 双肢可读且一致 · 4 不一致 · 3 环境答不 diff --git a/scripts/pm/check-skill-line-ratchet.mjs b/scripts/pm/check-skill-line-ratchet.mjs index 395c6a595f..627fea52fe 100644 --- a/scripts/pm/check-skill-line-ratchet.mjs +++ b/scripts/pm/check-skill-line-ratchet.mjs @@ -266,7 +266,37 @@ export const CEILINGS = new Map([ // a ruled clause, and the nearest candidates were the governed-surface // boundary and the terminal clause (refused on the state-machine precedent). // Landed count, headroom 0, same convention. - ['.claude/skills/pm-dispatch/references/contract-review.md', 60], + // Raised 60 → 65 by the clause-② GRADING ruling — the criterion itself, which + // this file carried nowhere: the claim-time `Clause-②: yes|no` declaration is + // PROVISIONAL by design (it fixes the conservative dispatch tier; the real gate + // is the at-tier review at PR/report time, where the evidence and the cost + // live, and a declaration overturned there is the mechanism working, not a seat + // fault); the mechanical floor (any NEW exported symbol or NEW key on an + // already-published payload is always `yes`, checkable in the tree at claim + // time); and the conformance class held back from mechanization (populating an + // already-declared field, re-selecting an input class between two published + // codes), which needs at-tier judgement and dispatches as `yes` when the claim + // cannot tell — a false `yes` self-corrects, a false `no` ships. The full + // taxonomy and the claim-time decision procedure are BOTH declined under the + // startup-scope lens, and that refusal is itself ruled content here. + // The ruling is the maintainer's, 2026-09-01, verbatim and untranslated: + // 「同意」; it authorizes this raise in its own words, verbatim and + // untranslated, in comment 5494466874: + // 「若触行数天花板,按 #13900 裁决同型引用本评论提额」 + // Paid in place FIRST, and the payment is real deleted bytes, never a re-wrap: + // the 放行 bullet's restated FAIL / 卡在决策 triple went (single source is + // SKILL.md 条款②入队闸门, which this file's own header already points at), and + // with it the 三样不变 clause — self-declared as 「单源见主文件」, and its + // governed-surface limb survives in-file in 落地前检三条 (「受管面不适用, + // draft-only 终局不变」). That bullet fell 6 lines → 4. Two further restatements + // were measured and REJECTED as payment because a LINE ratchet cannot bank + // them: 停靠短暂 in the 双载体 bullet (−45 B, 3 lines → 3) and 非放行必要条件 + // in the 外部评审链 bullet (−24 B, 4 lines → 4). The residual +5 is the ruled + // addition at its reasoned floor — 773 bytes of ruled content is 7 lines at the + // 120-byte cap, and no sixth-line spelling exists that keeps 不是出货缺陷, the + // ruling's own justification for declining the taxonomy. Landed count, headroom + // 0, same convention. + ['.claude/skills/pm-dispatch/references/contract-review.md', 65], // Business-perspective decision-analysis writing guide (maintainer ruling // 2026-08-20: the four-facet analysis must argue from the business // standpoint). Set at landed line count (headroom 0, same convention).