Skip to content

docs(pm): landing pre-check ③ points at the by-design-red clause - #18450

Merged
os-elon-musk merged 1 commit into
mainfrom
claude/issue-18404-contract-review-landing-check-by-design-pointer
Sep 16, 2026
Merged

os-elon-musk merged 1 commit into
mainfrom
claude/issue-18404-contract-review-landing-check-by-design-pointer

Conversation

@os-elon-musk

Copy link
Copy Markdown
Collaborator

Fixes #18404

Landing pre-check ③ in .claude/skills/pm-dispatch/references/contract-review.md listed exactly one exception and carried no pointer to the three-condition 「按设计而红」 clause that SKILL.md and references/core-rules.md already state. This re-keys that one row in place so it names the clause by pointer. The clause's single home is unchanged — this PR does not restate its three conditions, and does not touch SKILL.md or core-rules.md.

The card's central premise ("no such exception exists in the protocol") was refuted in triage comment 5695296976: the clause exists, spelled 「按设计而红」, which the card's 「按设计红」 / by-design probe missed. What survived — and what this PR implements — is the smaller, real defect: ③ carried no pointer to it, so the two 细则 disagreed on their face.

The row, before and after

Before (contract-review.md:45, 110 bytes):

- ③ PR 全部 check 全绿,⛔ 非 required 子集;例外:merge-base 上同名同失败签名的红不计。

After (118 bytes, cap 120):

- ③ PR check 全绿,⛔ 非 required 子集;例外:merge-base 同签名的红不计、按设计而红见 SKILL.md。

Paid by deletion inside the row, per the ratchet (60 / 60, headroom 0):

  • 「全部」 drops — 「全绿」 already carries the quantifier, and SKILL.md states the enqueue bar in full (「入队资格 = 每个 check 为 success 或预期 skip …⛔ 不是 required 子集」).
  • 「上同名同失败签名」 narrows to 「同签名」 — the very next row of the same file defines it: 「签名 = 失败步 + 首错行,读 base check runs 的 API ⛔ 不凭口述」.
  • Both exceptions and the 「⛔ 非 required 子集」 discipline remain readable in the row. Neither is weakened.

The PM's suggested wording measured 139 bytes and the nearest variants that kept 「全部」 measured 125 bytes, both over the 120-byte cap; 118 bytes is the widest spelling found that keeps the merge-base exception with its 「红」 intact.

维护者速读(草稿)

改了什么 — PM 技能事实层一行:落地前检 ③ 原来只写了一条例外(merge-base 上同签名的红不计),现在加一个指针,指向 SKILL.md 里已经存在的「按设计而红」三条款,作为 ③ 的第二条例外。三条款本身不复述,仍然只住在 SKILL.md + core-rules.md。整个 PR 只动这一行。

为什么改 — scripts/check-empty-changeset.mjs 会故意制造永久红(它自己写着「staying red is what puts the decision in front of a person instead of routing around it」),所以「带一条按设计红 + 维护者确认」是个会反复出现的形态。协议里本来就有处置它的三条款,但读 ③ 的人看不到指针:要么误以为 ③ 有个通用逃生口,要么把一个已被正确确认的 PR 卡住。这次把两条细则对齐。

风险与代价(含回滚) — 风险低:纯文本,不发布任何东西,不改任何门禁行为。唯一的实质取舍是为了塞进 120 字节上限做的两处删减(「全部」与「上同名同失败签名」),两处的语义都在同文件下一行或 SKILL.md 里逐字保留。回滚 = revert 这一个 commit,文件回到 110 字节的原行,行数不变(60 / 60)。

席位意见 — (留空,待席位复核填写)

你要做的 — 读一遍上面 before / after 两行,确认 118 字节的新拼写没有削弱 ③ 的 「⛔ 非 required 子集」 纪律,也没有把三条款搬出 SKILL.md。

Acceptance notes

  • Scope: one row of one file. ⛔ No other row of contract-review.md; ⛔ no change to SKILL.md, core-rules.md or review-checklist.md (the last already says 「第三种情形见 SKILL.md」).
  • Pointer is by NAME (the clause's own term 「按设计而红」 plus the file), ⛔ not by line number — line numbers are readings that drift.
  • Ratchet: pnpm check:pm-skill-ratchet ✓ 「.claude/skills/pm-dispatch/references/contract-review.md is 60 lines (ceiling 60; headroom 0)」. Row 118 bytes against the 120-byte per-line cap.
  • Changeset: skip-changeset. AGENTS.md Post-Task Checklist step 3, verbatim: 「⛔ never skip-changeset: that label is for a diff that publishes nothing from any released package.」 .claude/** is not shipped by any package's files[], so this diff publishes nothing and the label is exactly what step 3 permits.
  • Gates: all 15 families derived by node scripts/pm/dispatch-gates.mjs --commands were run in the foreground at head d8636f54; 15 / 15 exit 0, reconciled with --ran (「15 derived famil(ies) accounted for — 15 run, 0 NOT-MEASURED (a DERIVED zero)」). pnpm check:pm-governed-prose also run: exit 0. pnpm check:doc-formula-expressions first exited 3 (PREREQUISITE NOT MET — unbuilt workspace packages, the gate's own words: 「Nothing was measured」); after turbo run build --filter=@objectstack/formula --filter=@objectstack/lint it exits 0.
  • CI convergence is the reviewing seat's reading, not this PR's claim.

Generated by Claude Code

③ listed one exception (a merge-base red with the same failure signature) and
carried no pointer to the three-condition 按设计而红 clause in the pm-dispatch
SKILL.md, so the two 细则 disagreed on their face: a seat reading ③ alone would
stall a correctly-confirmed PR, or infer a general escape hatch that does not
exist.

Re-key the row in place: name the clause by pointer, keep its single home in
SKILL.md + core-rules (⛔ do not restate the three conditions). Paid by deletion
inside the row — 「全部」 drops (全绿 already quantifies) and 「上同名同失败签名」
narrows to 「同签名」, which the next row already defines (「签名 = 失败步 + 首错行」).
The 「⛔ 非 required 子集」 discipline and the merge-base exception both stay
readable in the row. 110 B → 118 B (cap 120); file stays at 60 / 60.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HPfcjvF23QBoBj7P47DDxs
@os-elon-musk os-elon-musk added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Sep 16, 2026 — with Claude
@github-actions github-actions Bot added size/xs documentation Improvements or additions to documentation labels Sep 16, 2026

Copy link
Copy Markdown
Collaborator Author

Contract review

Served-tier: CONTRACT_REVIEW_TIER
Head-sha: d8636f54dbad441c0691125604fb87e92b97e321

Skills seat, session_01HPfcjvF23QBoBj7P47DDxs, 2026-09-16T11:34Z — in-seat review of the dispatched dev's PR for #18404 (claim 5696646195, Clause-②: no; the ACCEPT on the card records the checklist). Governed fact layer (references/ only) — in-seat landing per contract-review.md :47.

① Derived judgments

  • Accept / reject set: no runtime contract, no packages/spec path, no error code, no published export. The change is one protocol row of this skill's own fact layer: landing pre-check ③ gains a pointer to SKILL.md's 按设计而红 clause as its second exception. Direction judged correct against grading 5695296976: pointer not restatement; the 「非 required 子集」 discipline and the merge-base exception stay readable; nothing loosened (the three conditions the clause imposes are unchanged and remain in SKILL.md + core-rules).
  • Public surface: none. Clause-②: no consistent with the diff (no widening tell; --pair 18450 exit 0).

② Semver level

None owed: nothing publishes; skip-changeset is AGENTS.md's own arm for this diff. Consistent.

③ Boundary flags

  • Dev open_questions: empty. Deviation (amended re-push before the PR existed, after the pre-push hook's model-free-trailer refusal): answered in the ACCEPT — accepted.
  • Row byte budget: 118 / 120 measured by the seat; ratchet 60 / 60 green at this head.
  • Neighbouring rows :44 / :46 untouched; SKILL.md and core-rules untouched (verified by the one-file diff).

Implemented-by: claude/issue-18404-contract-review-landing-check-by-design-pointer
Reviewed-by: session_01HPfcjvF23QBoBj7P47DDxs

VERDICT: PASS


Generated by Claude Code

Copy link
Copy Markdown
Collaborator Author

Landing provenance — skills seat, session_01HPfcjvF23QBoBj7P47DDxs, 2026-09-16T11:52Z. In-seat contract review PASS 5696774396 on head d8636f54 (Served-tier: CONTRACT_REVIEW_TIER); ACCEPT 5696774068 on #18404. Fact layer (every governed path under this skill's references/) ⇒ in-seat landing per contract-review.md :47. Landing pre-checks: ① that record ✓ · ② check-clause2-carriers.mjs --pair 18450 exit 0 ✓ · ③ every check-run on d8636f54 success or a rostered skip (check-expected-skips.mjs VERDICT OK, 12 skips all in the roster) ✓. Landed by the seat through the CCR routes at 2026-09-16T11:52Z: POST …/ccr/ready_for_review (200, read back draft: false) then PUT …/ccr/auto_merge {"merge_method":"SQUASH"} (200; the REST field reads back cleared on enqueue, as recorded — the landing commit's parent count is the reading). Tracked to MERGED with the two readings (queue ref, origin/main by content). Card #18404 stays pm:dispatched + assignee until Fixes closes it; contract-review.md is released to the #18434 decision's implementation PR at MERGED.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/xs skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants