Repository navigation
docs(pm-dispatch): a card that narrows a published accept set is Clause-② no, stays in its lane and owes one contract-review-tier review before the queue - #22223
Conversation
…se-② no, stays in its lane and owes one contract-review-tier review before the queue execution-duties.md 〈派发〉 gains one bullet under the Clause-② lines: a card that narrows a published accept set (refuses tomorrow what passes today) is `Clause-②: no`, does not move lanes, and owes one contract-review-tier review before the queue. The Clause-② definition itself is unchanged. The line ratchet (ceiling 183, headroom 0) is paid by deleting the 〈收集〉 bullet "探活是每轮巡检的固定动作;完成通知不可靠,缺席什么都不证明", whose content the same file already states: the probe is patrol step ③, and the "absence proves nothing / positive evidence only" halves live in the collection section's first bullet pair and in step ⑤. Claude-Session: https://claude.ai/code/session_01CXydFDyiQwNbGFkmwrcRQq Co-authored-by: Claude <noreply@anthropic.com>
… line budget The gloss in parentheses cost 31 bytes over the per-line budget the ratchet meters; the three facts the ruling fixes stay (Clause-② no, no lane move, one contract-review-tier review before the queue), and 「收窄接受集」 reads against the neighbouring 「放宽接受集」 without a gloss. Claude-Session: https://claude.ai/code/session_01CXydFDyiQwNbGFkmwrcRQq Co-authored-by: Claude <noreply@anthropic.com>
Contract reviewServed-tier: Reviewed in-seat by the skills seat 1 (dispatching seat; this session is served at the contract-review tier, read off ① Derived judgments
② Semver levelNone. Internal PM protocol text; ③ Boundary flags
Implemented-by: VERDICT: PASS Generated by Claude Code |
Part of #22167
Clause-②: no
What changes
.claude/skills/pm-dispatch/references/execution-duties.md〈派发〉 gains one bullet directly under the Clause-② lines — after 「条款②只指已发布契约面,拉回已声明契约不触它;卡面复述仍是条款②。」 and before 「删已发布契约文本本就否定的误拒本身是no;…」:It states the three facts the director's ruling (letter C, comment 6053791774 on the card) settles: a card that narrows a published accept set (refuses tomorrow what passes today) is
Clause-②: no, does not move lanes, and owes one contract-review-tier review before the queue. The Clause-② definition lines — 「Clause-②: yes | no恰这两种拼写,恒英文机器判据;判据:本卡放宽接受集或扩大公开面吗。」 and 「强制条款②:放宽接受集或扩大公开面的卡默认判断档施工;命中即 spec 车道的活。」 — are unchanged byte for byte (re-read onorigin/mainat7d7943dd0d, lines 67 and 101).The ruling's gloss 「明天拒绝今天还能通过的」 is not inside the line: with it the bullet measured 143 bytes against the ratchet's 120-byte per-line budget (
check:pm-skill-ratchetwent red on exactly that line), and wrapping it would cost a second line the file's ceiling does not have. 「收窄接受集」 reads against the neighbouring 「放宽接受集」 without a gloss; the gloss stays in this PR and on the card.No issue number enters the operational text (
pnpm check:pm-skill-id-lintgreen).Line ratchet (
pnpm check:pm-skill-ratchet)origin/main: 183 (headroom 0). Count after this PR: 183. The ceiling row is untouched.The card's remainder (not in this PR)
The
--tiernote inscripts/pm/dispatch-gates.mjs(the string "a card that changes contract accept/reject behaviour or widens the public surface owes a contract-review-tier REVIEW too …") is reworded to the same meaning when #22060 W3 unfreezes that file; the file is frozen (ruling 208 R6, read as whole-file) and this PR does not touch it. #22167 stays open for that remainder. #22135 was already amended toClause-②: noby triage; nothing more there.维护者速读(草稿)
改了什么:PM 派发规则文件
execution-duties.md的〈派发〉节,在条款②那四行之下加一句:收窄已发布接受集的卡(明天开始拒绝今天还能通过的元数据)是Clause-②: no,不换车道;入队前要过一次契约复审档复核。条款②本身的定义一字未动。为付行数棘轮(该文件 183 行、余量 0),删掉了〈收集〉节一句本文件别处已经说过的话(探活是固定巡检动作、通知缺席不证明什么),它的内容仍在同节的 ③ 与 ⑤ 两条里。为什么改:两段 PM 规则对"收紧"卡给出两个答案——一段说不欠复审、留本车道,另一段说欠复审且归 spec 车道;哪个席位先读到哪段,决定了客户看到的那次"被拒绝"有没有人按契约档看过。裁决(批次 290 第 5 项,字母 C)拆成两问:条款②只问"扩不扩面"(定车道与施工档);收紧的卡另加一句,欠一次契约复审档复核、不移车道。本 PR 落第一半;
dispatch-gates.mjs里--tier注释那一半等该文件解冻后随 #22060 W3 落地。风险与代价(含回滚):只改一行协议文本,不改任何闸门脚本与机制,不加标签不加链;代价是每张收紧已发布接受集的卡入队前多一次契约档复核。回滚 = revert 本 PR,无数据与行为残留。
席位意见:
你要做的:无需操作——Tier S 面,skills 席席内契约复审档复核 PASS 后翻 ready 入队;若不同意这句话的措辞,在卡上留一句即可。
Verification (tree
869d7896df)Derived with
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackon this tree (17 families: 9 matched by path, 8 whole-tree), every command run in the foreground with its exit code captured before any pipe, and reconciled with--ran:pnpm check:pm-skill-ratchetexecution-duties.md is 183 lines (ceiling 183; headroom 0); 157 self-test cases passpnpm check:pm-skill-id-lint34 file(s) clean (pattern /#[0-9]{3,}/g)pnpm check:skill-frame-syncnode scripts/pm/check-harness-current.mjs --self-testpnpm check:nul-bytesnode scripts/check-closing-keyword-parity.mjs(+--self-test)node scripts/check-comment-mask-corpus.mjspnpm check:agent-test-spellingpnpm check:cross-package-test-inputspnpm check:doc-authoringpnpm check:driver-memory-censuspnpm check:gitlink-declaredpnpm check:pm-governed-mergespnpm check:refd-timer-probepnpm check:watch-hint-literalpnpm --filter @objectstack/lint run check:doc-formula-expressions@objectstack/formulaand@objectstack/lintnot built — nothing measured); afterturbo run build --filter=@objectstack/formula --filter=@objectstack/lintunder the verify lock, rerun exit 0:✓ check:doc-formula-expressions: 22 record-scoped formula example(s) across 468 files / 1384 TS blocks judged clean by @objectstack/formula.Not derived, not run: the package builds and type-checks (
.claude/**is outside every package), the 53 artifact-roster families (silent on every card), the 11 wide-population families and the type-check lanes — CI owns those. No changeset:.claude/**publishes nothing from any released package, so this PR carriesskip-changeset.The ratchet's red-then-green sequence is recorded on the branch: the first commit carried the 143-byte line (ratchet red on L105), the second shortened it to 108 bytes (ratchet green at 183/183).
Acceptance notes
os-dev-report)」 keeps the HTML-comment spelling readable on the collecting side while the dev-side rules call that spelling bad; a read-side tolerance, no defect class, left as is.Generated by Claude Code