docs(pm-dispatch): state both the batch default and the maintainer ceiling in one row - #17024
Merged
Merged
Conversation
…iling in one row The `/pm-dispatch [args]` table's `batch:<n>` row carried a single number, `3`, in its default column while the maintainer's dispatch ceiling has been 5 — so a reader of the table could not tell which number a seat is expected to run at. Reading A applies: the ruling that moved the cap 3 -> 5 speaks of the cap, not the default, and a ceiling raise does not by itself raise the default. The row now labels both numbers by role, in place: default `3`, maintainer ceiling on `n` `5`. Line-neutral (811 -> 811 lines), the file is at line-ratchet headroom 0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HxLw5aKDPR5RJgyUR7Exkd
Collaborator
Author
维护者速读 — PR #17024(#16272,skills 席终稿,2026-09-09T03:01Z)改了什么 — 为什么改 — 你在 2026-09-03 把派发上限从 3 抬到 5,各执行席按 5 在跑,但表格只写了 3:新席位照表跑就把并发压到 3,照别人的实践跑又不知道 3 从哪来。分诊席已裁读法 A(5579798462):抬上限的裁定不自动抬默认值,所以两个数都要写、各标角色。溯源(#14944 的裁定与 2026-09-03 的上限决定)在 PR 正文里引全,单元格本身不带日期——技能语料只放规则,出处归 PR。 风险与代价(含回滚) — 纯指令文本,不改任何门禁行为、不改默认并发;回滚 = revert 本 PR。零代价:同行改写,离 120 字节行宽还有余,最宽表行 342 未动。 席位意见 — 接受。本席在分支头上复核:第 60 行单元格与裁定一致;语料内 你要做的 — 合并;或由 os-zhuang / hotlong 批准,本席随即入队。 Generated by Claude Code |
This was referenced Sep 9, 2026
Closed
os-zhuang
approved these changes
Sep 9, 2026
os-zhuang
approved these changes
Sep 9, 2026
os-zhuang
marked this pull request as ready for review
September 9, 2026 03:35
os-zhuang
enabled auto-merge
September 9, 2026 03:35
os-zhuang
deleted the
claude/issue-16272-batch-row-default-and-ceiling
branch
September 9, 2026 04:24
This was referenced Sep 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #16272
What changed
One in-place cell edit in
.claude/skills/pm-dispatch/SKILL.md— the/pm-dispatch [args]argument table'sbatchrow. The row's default column carried a single number,3, while the maintainer's dispatch ceiling has been 5 since 2026-09-03, so a reader of the table could not tell which number a seat is expected to run at. The row now names both numbers and labels each by role, inside the existing row.Before / after
⚠
Nabove stands in for the argument placeholder the real cell uses (a lowercase n wrapped in angle brackets); the literal fragment is spelled out here so it survives GitHub's body sanitizer. The file on disk is unchanged in that respect — only the third column moved.Line-neutral: the file is 811 lines before and after. No new line was added, no
3was changed to5.Provenance — the two records the reviewer would otherwise have to look up
1. #14944's ruling
5548762263— the text the triage seat read to settle which of the two readings the evidence supports, verbatim:It speaks of the cap, not the default. 2. the 2026-09-03 cap decision it cites moved the maintainer's dispatch cap 3 → 5; nothing in it moves the per-invocation default. A ruling that raises a ceiling from 3 to 5 does not by itself raise the default from 3 to 5.
3. this card's triage ruling
5579798462ruled reading A and fixed the shape of the fix (Chinese, kept verbatim and untranslated):and, as a hard constraint, because the file sits at line-ratchet headroom 0:
Both are honoured:
3stays the default,5is labelled the maintainer ceiling on the argument, and the change is line-neutral.One deliberate departure from the dispatch's example wording
The dispatch offered
`5`(维护者上限,2026-09-03 裁)as an example shape. The date is not in the landed cell. The pm-dispatch corpus standard is rules-only —scripts/pm/check-skill-id-lint.mjsstates it as "The scanned corpus carries rules only — no ruling dates, no quotations, no issue numbers; a rule's provenance lives in the PR that landed it", and AGENTS.md says the same of its own text. So the provenance lives in this PR body instead, which is also what the card asked for.Evidence
Line ratchet — the gate's own verdict lines, verbatim
Both pins on this file are at headroom 0 and both stay green: the line count did not move, and the edited row (87 bytes) is nowhere near the 342-byte widest-row pin, so the widest-row measurement did not move either.
Merge-tree probe — the line count of the file as merged
Run on the merge of
origin/mainand this branch, as the triage ruling asked, because the file's headroom is 0 and siblings are in flight on it:811 in the merged tree = the ceiling, headroom 0, green. The branch also carries a real
git merge origin/main(atd127f9ba), which was clean and left the row untouched. Sibling PR #17021 (which would take this file to 812) is not onmainyet; if it lands first this branch must be re-merged and the probe re-read before landing.Gates — derived from the actual change set, all green
Derived with
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack(change set taken from git by the tool itself, three-dot against merge based127f9ba), then reconciled with--ran:node scripts/check-closing-keyword-parity.mjs(and--self-test)node scripts/check-comment-mask-corpus.mjsnode scripts/pm/check-governed-queue-guard.mjs --self-testpnpm check:agent-test-spellingpnpm check:doc-authoringpnpm check:driver-memory-censuspnpm check:nul-bytespnpm check:pm-governed-mergespnpm check:pm-governed-prosepnpm check:pm-skill-id-lintpnpm check:pm-skill-ratchetpnpm check:refd-timer-probepnpm check:skill-frame-syncpnpm check:watch-hint-literalpnpm --filter @objectstack/lint run check:doc-formula-expressionspnpm check:required-contexts(not derived; run because the previous flight's derivation carried it)Every exit code was captured before any pipe (
cmd > log 2>&1; EXIT=$?), never through| head/| tail.check:doc-formula-expressionsfirst returned exit 3 — PREREQUISITE NOT MET (unbuilt@objectstack/formula/@objectstack/lint), which is NOT MEASURED, not a finding.@objectstack/formula+@objectstack/lintwere then built through the shared verify lock (scripts/pm/os-verify-lock.sh,VERDICT command-exit 0 · held the lock 197s · waited 0s) and the gate re-run to a real green.check:skill-frame-syncis green and reports2 copies of the decision frame are structurally isomorphic across 2 files— the four-axis frame block is untouched by this PR, as expected.Repo-wide lint — measured narrowing, not a skipped run
pnpm lintiseslint . --no-inline-config, a repo-wide scan CI owns. The narrowing here is a measurement, not an omission:pnpm exec eslint --no-inline-config --format jsonon the one changed file returns"File ignored because no matching configuration was supplied."—.mdunder.claude/is outside the configured lint surface entirely.--format jsonoutput: 1 file examined,errorCount: 0,fatalErrorCount: 0.Union of gates re-run after the final commit;
git rev-parse --short HEADat that run =bd310fd6.Control characters
grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]'over the changed file: no matches (exit 1).pnpm check:nul-bytesgreen.Why
skip-changesetNothing published moves:
.claude/**is not shipped in any package'sfiles[]— it is agent operating text read from the repo, not from an installed artifact.Governance
.claude/**is a governed surface (AGENTS.md Prime Directive #14). This PR is a draft and stays one: no seat merges it, queues it, arms auto-merge on it, or flips it out of draft. Landing is the maintainer's, by hand.维护者速读(草稿)
改了什么 ——
/pm-dispatch参数表里batch那一行的默认值单元格,原来只写3。现在同一行里写清两个数各自的角色:默认是3,维护者给这个参数的天花板是5。只动这一个单元格,文件行数 811 → 811 不变。为什么改 —— 维护者 2026-09-03 把派发 cap 从 3 抬到 5,但表格只有一个数,读表的人看不出席位到底该按几跑:照表走会把并发压到 3,照别人实践走又不知道 3 是哪来的。分诊席读了 #14944 的裁定原文(说的是 cap 不是 default),裁定按读法 A —— 表格里的
3作为默认值没有过期,过期的是「表格只说了一个数」。所以 ⛔ 没有把3改成5;若您本意其实是让默认值也跟到 5,那是一处单字修改,请在这里直说。风险与代价(含回滚) —— 纯文档、单行、零行为、零发布面,风险接近零。唯一的机械风险是这个文件行数余量为 0:本 PR 行数中性,合并树探针读到 811 = 天花板,绿。但姊妹 PR #17021 会把它抬到 812,若它先落地,本分支需重新合 main 并重跑一次探针再合。回滚 = revert 这一个 commit,无依赖、无迁移。
席位意见 ——(留空,待席位填写)
你要做的 —— 只有两件:① 确认读法 A 是您的本意(默认 3 / 上限 5),不是 B(默认也是 5);② 手动合并这个 draft PR —— 治理面不进合并队列、不挂 auto-merge。
验收备注
No out-of-scope findings. Two things checked and found clean rather than filed:
3is restated nowhere else in the pm-dispatch corpus. A literal-backtick-3 scan across.claude/skills/pm-dispatch/**/*.mdreturns exactly this one row; the otherbatchmentions (SKILL.md at the priority-override, capacity, parallelism and effective-cap lines, andreferences/core-rules.md's two) all refer tobatchas a cap concept without restating any number. Nothing else needed aligning.references/core-rules.mdwas therefore not touched.Generated by Claude Code