Repository navigation
skills(pm-dispatch): a text-only DELIBERATE CORRECTION is confirmed by the dispatching seat's ACCEPT quoting before/after - #23257
Merged
objectstack-fleet[bot] merged 2 commits intoOct 14, 2026
Conversation
…y the dispatching seat's ACCEPT landing-operations.md's two DELIBERATE CORRECTION lines become four, split by the PR's diff: - release-text-or-comment-only diffs: the dispatching seat's ACCEPT is the confirmation; it names every edited note and quotes each rewritten sentence before and after; no second same-head review is owed; - everything else (code changes included) keeps the full procedure: a same-head at-tier review PASS record naming the notes and judging each rewritten sentence. Unchanged: no wait for the maintainer, the SKILL.md three-condition red-by-design enqueue, and check-empty-changeset itself. The ruled content does not fit two lines under the ratchet's 120-byte line cap (the old lines stood at 118 B and 119 B). One line is paid by deleting the clause-2 block's restatement of the per-surface review rule, whose content lives in contract-review.md (per-surface, not per-lane) and execution-duties.md (a clause-2 hit is spec-lane work). The file is 102 lines against a ceiling of 101; the residual line is left open on purpose. Claude-Session: https://claude.ai/code/session_013zGKMG1cRedVzWtqGGGZW9 Co-authored-by: Claude <noreply@anthropic.com>
This was referenced Oct 13, 2026
Contributor
Author
|
Seat status on head
Generated by Claude Code |
…e with the main-red third-convention restatement
landing-operations.md's main-red convention three ("a full-battery red on main
is its lane's first work; while it stands, that lane's PRs do not queue") is
stated in full in AGENTS.md's multi-agent discipline section 7 ("Main-red: a
full-battery red is its lane's first work ... no lane PR arms the queue
meanwhile"), which binds every seat. Deleting the restatement pays the one line
the ruled four-line DELIBERATE CORRECTION text still owed; the file returns to
101 lines against its ceiling of 101. The deletion is the maintainer's
authorized second payment.
Claude-Session: https://claude.ai/code/session_013zGKMG1cRedVzWtqGGGZW9
Co-authored-by: Claude <noreply@anthropic.com>
Contributor
Author
Contract reviewServed-tier: Reviewed in seat by the dispatching skills seat (served tier read from ① Derived judgments
② Semver levelNone owed: ③ Boundary flags
Implemented-by: VERDICT: PASS Generated by Claude Code |
objectstack-fleet
Bot
deleted the
claude/issue-23201-deliberate-correction-text-only
branch
October 14, 2026 00:49
This was referenced Oct 14, 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 #23201
Clause-②: no
This implements item 4 of the maintainer's ruling on #23177 (ruling record
6139629628, the maintainer's word 「同意」). A DELIBERATE CORRECTION whose diff changes only release text or comments is confirmed by the dispatching seat's ACCEPT. That ACCEPT names every edited note and quotes each rewritten sentence before and after. The second same-head review is dropped for that class. Everything else, code changes included, keeps the full procedure.Status: both ratchet payments landed —
pnpm check:pm-skill-ratchetis green at 101/101 on1f3be34d. The dispatching seat rewrote this paragraph, the line-budget section and the 速读 after the second payment (the dev writes the body once; later edits are the seat's). Authored by the dev dispatched fromsession_013zGKMG1cRedVzWtqGGGZW9(claim 6145186869).The change:
.claude/skills/pm-dispatch/references/landing-operations.mdBefore (
afbf960c, lines 15–16):After (
92c8a276, lines 14–17):How the text maps to the ruling:
⛔ 不等维护者, covers both classescheck-empty-changesetunchanged (kept)landing-operations.mdis touched.Two readings I took:
其余(含改代码)照全套. A diff the reader cannot place goes to the full procedure.Line budget: 101 → 101 lines (ceiling 101), GREEN
The dispatch assumed a net-0 rewrite in place with no limit on line length. That assumption does not hold. The ratchet caps every re-wrappable line at 120 bytes (
MAX_LINE_BYTESinscripts/pm/check-skill-line-ratchet.mjs). The old lines 15 and 16 were already 118 B and 119 B.wrapLineturns each into 2 lines, so 4 lines in total. I ran the gate'sscanLineLengthsonce on those two lines to confirm; that was a one-off check and no file was kept.One line is paid. The clause-② block's former line 12 is deleted:
Its content is stated elsewhere:
contract-review.md:7.execution-duties.md:101.contract-review.mdfrom section B (now line 56).That left net +1 at
92c8a276.The second payment, taken at
1f3be34don the maintainer's word 「23201 同意」 (card comment 6147542698): the main-red ③ line (main-red 约定③:main 全量电池红是所属车道首要工作;红未消,该车道 PR ⛔ 不挂队。) is deleted. AGENTS.md Multi-agent discipline §7 states that rule in full (AGENTS.md:533: "Main-red: a full-battery red is its lane's first work … ⛔ no lane PR arms the queue meanwhile"), so no rule leaves the corpus. Net 0 againstafbf960c; the ceiling is not raised. The first retry of this deletion was refused by the auto-mode permission classifier; it went through after the maintainer turned auto mode off.Not in this PR
The
rest-channel.mdline carried over from #23193 (ruling item 5) is not addressed here. I read the state onorigin/main4f5679c2:WORKFLOW_DISPATCH_ALLOWLISTinscripts/pm/fleet-write/ops.mjsis still['shard-timings-refresh.yml'].rest-channel.mdis at its own ceiling, 82/82.That line belongs to the skills seat, once PR #23209 lands and a line is paid for in that file.
Verification
Gate list:
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack, derived at92c8a276against merge baseafbf960c. It gave 17 commands. I also ran the six gates the dispatch named. Each exit code was captured before any pipe. The diff touches no package, so steps ① (dependency build) and ② (package tests) are empty.node scripts/check-closing-keyword-parity.mjsnode scripts/check-closing-keyword-parity.mjs --self-testnode scripts/check-comment-mask-corpus.mjsnode scripts/pm/check-harness-current.mjs --self-testpnpm --filter @objectstack/lint run check:doc-formula-expressions@objectstack/formulaand@objectstack/lintunderos-verify-lock(VERDICT command-exit 0), then reran: 22 record-scoped formula examples across 474 files judged cleanpnpm check:agent-test-spellingpnpm check:cross-package-test-inputspnpm check:doc-authoringpnpm check:driver-memory-censuspnpm check:gitlink-declaredpnpm check:nul-bytespnpm check:pm-governed-mergespnpm check:pm-skill-id-lintpnpm check:pm-skill-ratchetlanding-operations.md is 102 lines; the ratchet ceiling is 101(the named gap above; no other red)pnpm check:refd-timer-probepnpm check:skill-frame-syncpnpm check:watch-hint-literalpnpm check:pm-governed-prosepnpm check:pm-settings-deny-rosterpnpm check:pm-label-desc-cappnpm check:skill-top-level-keyspnpm check:overlay-whitelist-tablepnpm check:published-readme-exports.claude/**-only diff cannot affect; CI builds them.Reconciliation:
dispatch-gates --ranreports "17 derived famil(ies) accounted for — 17 run, 0 NOT-MEASURED". No changeset:.claude/**publishes nothing, so this PR carriesskip-changeset.Acceptance notes
What the exemption replaces. It replaces only the DELIBERATE CORRECTION confirmation. Two other requirements keep applying on their own terms:
packages/spec/src/**still hits the path limb.The four lines do not restate either; there was no room.
Consistent with existing text.
contract-review.md:8-10already sends.changesetprose to the dispatching seat's ACCEPT, checked sentence by sentence against the diff. The new text-only class matches it.Drift observed, not acted on.
landing-operations.md:59says a Tier S PR lands after "落地前检三条" (three pre-landing checks).contract-review.md:29defines "落地前检两条" (two). carrier: none (承接者:无).维护者速读(草稿)
改了什么:落地细则里管「DELIBERATE CORRECTION」(改别人待发布的发布说明)的两行,改写成四行:只改发布说明文字或注释、完全不碰代码的更正,由派发席在 ACCEPT 里点名每个被改的 note、逐句贴出改前与改后原文即算确认,不再额外跑一次同 head 的复核子代理;凡改了代码(或判不准是否纯文字)的更正,照旧走完整的达档复核。为腾行数,删掉了同一段里一条在别处已写明的重复规则。
为什么改:维护者在 #23177 裁决 B 第 4 条说「同意」。上一次 12 行的 changeset 措辞更正,ACCEPT 已经逐句核过,还要再花约 10 分钟、约 20 万 token 做第二次复核,纯属重复劳动。
风险与代价(含回滚):风险在于把带代码的更正误当成纯文字类而少一次复核;文本按 PR 实际 diff 判类,只有明确属于「只改发布文字或注释」的才豁免,其余一律走全套,把豁免面压到最窄。代价:规则需要四行,本文件行数上限 101,靠删掉两条在别处已写全的重复规则付清(一条在 contract-review.md 与 execution-duties.md,一条在 AGENTS.md §7),上限不动。回滚 = revert 本 PR 的两个提交。
席位意见:同意落地。四行逐句对照裁决第 4 条无缺项,豁免面取窄侧;两条删除均为别处已写全的重述;契约复核 PASS 记录在本 PR(head
1f3be34d)。你要做的:无。路径全在
.claude/**,Tier S:席位在达档复核 PASS 后经中继入队落地;事后审计见scripts/pm/check-governed-merges.mjs。