Repository navigation
pm-dispatch execution-duties: a split-off off-lane card does not inherit the parent's domain; ceiling 183 → 185 by ruling - #23660
Conversation
…rit the parent's domain; ceiling 183 → 185 by ruling Two rule lines beside the derived-sub-issue rules in 候选与批次: a queued card found carrying an item whose fix lands in another lane is split out by the finding seat itself (new card with no domain label, first line "carries item k of #N; #N keeps items …"); triage stamps the domain at first touch and may regrade; the split-off card does not inherit the parent's domain, and the parent keeps Fixes on its remaining items. Ordered by ruling record 6184818831 (letter D, item 3). The CEILINGS row moves by the measured delta, +2, under ruling record 6184799323 (letter B, item 1). Claude-Session: https://claude.ai/code/session_01GjUZrCo7Yi58T4vPXqx88e Co-authored-by: Claude <noreply@anthropic.com>
Contract reviewServed-tier: ① Derived judgments
② Semver levelNo published package in the diff ⇒ no changeset owed; ③ Boundary flags
Implemented-by: VERDICT: PASS Reviewed 2026-10-15T11:11Z against the PR's committed diff, the card's records and the head's check-runs ( |
席位核对 — PR #23660 (#23579) @
|
Fixes #23579
Clause-②: no
Lands item 3 of ruling record 6184818831 (letter D): the rule in
.claude/skills/pm-dispatch/references/execution-duties.mdthat says who splits an off-lane item out of a queued card, how the split-off card is filed, and that it does not inherit the parent's domain. That file'sCEILINGSrow inscripts/pm/check-skill-line-ratchet.mjsmoves by the measured delta, under ruling record 6184799323 (letter B, item 1).The ruling and the raise authorization
references/execution-duties.md: a split-off off-lane card does not inherit the parent's domain; the derived sub-issue rule (「在飞卡衍生 sub-issue 承父卡域」) keeps applying to sub-issues of the card's own lane." Items 1 and 2 of the same ruling (who splits, how the new card is filed, the parent keepsFixeson its remaining items) are the content the rule carries.CEILINGSrow in the same PR by at most that delta. No second word from the maintainer is needed." Its item 5 names this card's line.execution-duties.mdis 183 lines on the base (286eb9ef3) and 185 on this head; theCEILINGSrow moves 183 → 185 (headroom 0). The width pin stays 0 (no table row added).What changed
Two rule lines, inserted directly after the derived-sub-issue pair in 〈候选与批次〉 (the lines beginning 「在飞卡衍生三分」 and 「该 sub-issue 带父卡域与优先级直接派发」). No other line in the file moved or was reworded.
domain:*and its first line is the literalcarries item k of #N; #N keeps items …. ("他车道项" reads against SKILL.md's anchor rule:domain:*is the domain of the package the fix lands in.)Fixeson its remaining items.scripts/pm/check-skill-line-ratchet.mjs: only theexecution-duties.mdrow ofCEILINGS(183 → 185), plus a comment block above it in the map's own convention (what the text is, the ruling that ordered it, the maintainer's word verbatim and untranslated, the authorization, "Landed count, headroom 0, same convention"). The header docblock and the refusal text are untouched; they belong to #23606.Why two lines, not one (measured): this same ratchet caps every line of the file at 120 bytes. The tightest one-line spelling of the ruled content (the two lines joined into one bullet) is 235 bytes. The two lines land at 120 B and 119 B. No neighbour was re-wrapped and no rule was deleted to pay for them.
Verification (head
b609a9164)node scripts/pm/check-skill-line-ratchet.mjs: exit 0. Its verdict lines for the file:✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/references/execution-duties.md: widest table row is 0 bytes (pin 0; headroom 0).✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/references/execution-duties.md is 185 lines (ceiling 185; headroom 0).✗ check-skill-line-ratchet: .claude/skills/pm-dispatch/references/execution-duties.md is 185 lines; the ratchet ceiling is 183.That was the only red line, so the two new lines pass the 120-byte rule, and the row move is what makes the gate green.node scripts/pm/check-skill-line-ratchet.mjs --self-test: exit 0,157 cases pass. It accepts the plain ruled raise and pins no map-wide total.node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack(no paths) atb609a9164: 36 commands, all run locally, every final exit code 0.pnpm --filter @objectstack/lint run check:doc-formula-expressionsfirst exited 3 (PREREQUISITE NOT MET:@objectstack/formulaand@objectstack/lintnot built). It was re-run after the build it prescribes and exited 0.pnpm check:pm-dispatch-gates: fast tier,1884 cases pass.--ran:36 derived famil(ies) accounted for — 36 run, 0 NOT-MEASURED.Changeset
None. The diff publishes nothing (
.claude/**,scripts/pm/**), so this PR gets theskip-changesetlabel.Landing
Governed surface (
.claude/**, Tier S). The PR stays in draft; the owning seat lands it on a contract-tier review PASS.Acceptance notes
pm:retriage」 still routes the remainder of a partially landed card through triage. The new lines cover a different case: a queued card found mixed before dispatch. The two do not collide.维护者速读(草稿)
改了什么:在 PM 执行职责文件
execution-duties.md里加两行规则。排队卡里如果夹着属于别的车道的工作项,由发现它的席位自己拆成新卡:新卡不打domain:*,首行写明承接原卡哪一项、原卡留哪几项;分诊首次接触时定车道,可以改判;拆出的卡不继承原卡车道,原卡剩余项照常用Fixes关闭。行数门禁里这个文件的上限按实测从 183 抬到 185。为什么改:执行裁决 6184818831(D 案,维护者「同意」)第 3 项。这个文件已经顶到上限。按裁决 6184799323(B 案第 1 项,维护者「同意」),有裁决下令写入的文本,裁决本身就是抬上限的授权,抬幅等于实测行数 +2。
风险与代价(含回滚):只改给 agent 读的协议文本和一个行数上限,不碰产品代码,不发版。代价是每个席位会话多读两行(约 240 字节)。回滚 = revert 本 PR。
席位意见:
你要做的:无需操作。本 PR 属 Tier S,席位达档复核 PASS 后自行落地。
Generated by Claude Code