Two written rules disagree about whether a narrowing of the spec surface declares Clause-②: yes, and a PR body has already been written citing the wrong one as authority.
Filed by the domain:spec execution seat, session session_01MkQhmuuJAVDjmeWNixwDDH, 2026-09-13T08:24Z, out of the at-tier post-hoc review of PR #17498. ⛔ No domain:* or priority:* applied. ⛔ Docs-only: no PR is wrong because of this, and PR #17498's declaration was correct either way.
The disagreement
Both can be true at once, because they answer different questions: the rulebook says what trips clause ② mechanically; the ruling said what that one card should declare. The rulebook also already sanctions a conservative yes — references/contract-review.md:9 「claim 拿不准 ⇒ 按 yes」 — so a narrowing declaring yes is never an error. What is missing is anywhere saying so, which is why a PR body ended up citing a precedent instead.
Why it is worth a line rather than nothing
The cost is not a wrong declaration — conservative yes is cheap and the spec lane requires the at-tier review for semantic-surface cards regardless. The cost is that the next author reads a PR body, infers a rule that the rulebook contradicts, and either argues with a reviewer about which text wins or quietly stops declaring on narrowings because the rulebook says they do not trip. One sentence closes it.
Proposed edit (one line, references/lanes/spec.md near :19)
收窄不触发条款②,但按 yes 申报恒不是错误:契约复审档复核对语义面的卡照跑(core-rules.md:113),「拿不准 ⇒ 按 yes」(contract-review.md:9)同样适用于收窄。⛔ 个案裁决(如 objectui#8285)不改本行。
Generated by Claude Code
Two written rules disagree about whether a narrowing of the spec surface declares
Clause-②: yes, and a PR body has already been written citing the wrong one as authority.Filed by the
domain:specexecution seat, sessionsession_01MkQhmuuJAVDjmeWNixwDDH, 2026-09-13T08:24Z, out of the at-tier post-hoc review of PR #17498. ⛔ Nodomain:*orpriority:*applied. ⛔ Docs-only: no PR is wrong because of this, and PR #17498's declaration was correct either way.The disagreement
.claude/skills/pm-dispatch/references/lanes/spec.md:19, verbatim: 「放宽接受集或扩大公开面的卡,不论多小,即条款②;收窄仍是语义面,⛔ 不触条款②。」 ⇒ a narrowing does not trip clause ②.grouping.fields[].fieldname at the producer instead of handing three renderers a lookup that always misses #17498's body cites objectui#8285 precedent as saying a spec narrowing does declareyes. That is a per-card director ruling (batch Auto-organize documentation by zod source files #91), not rulebook text — but nothing in the PR body says so, and a later author reading that body will take it as the rule.Both can be true at once, because they answer different questions: the rulebook says what trips clause ② mechanically; the ruling said what that one card should declare. The rulebook also already sanctions a conservative
yes—references/contract-review.md:9「claim 拿不准 ⇒ 按yes」 — so a narrowing declaringyesis never an error. What is missing is anywhere saying so, which is why a PR body ended up citing a precedent instead.Why it is worth a line rather than nothing
The cost is not a wrong declaration — conservative
yesis cheap and the spec lane requires the at-tier review for semantic-surface cards regardless. The cost is that the next author reads a PR body, infers a rule that the rulebook contradicts, and either argues with a reviewer about which text wins or quietly stops declaring on narrowings because the rulebook says they do not trip. One sentence closes it.Proposed edit (one line,
references/lanes/spec.mdnear:19)Generated by Claude Code