Repository navigation
feat(pm): fold a claim or a verdict into one label-write relay stroke - #31583
Conversation
label-write --comment-file sends the stamped comment, the label diff and the assignee change as ONE fleet-write dispatch; --land adds pr_ready and automerge_enable for a verdict on a pull request. The comment is judged by post-stamped's judgeBody (signature first line, one-clock stamp, keyed lines), now the one judging path both senders call. Every part is read back and printed on its own line; a part that does not match exits 4 and is never repaired. No new relay op, no change to fleet-write/ops.mjs. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jQze2kJDxaxMsAW2kY
|
domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw Contract-review-hold: session_01QsR2jT34CXs5fCn3BDirZw · head 3e24b82 · director seat off duty since 16:01Z (clock-out 6723731915), and the maintainer's standing rule routes this project's CONTRACT_REVIEW_TIER reviews to the director seat only · until the maintainer re-sits the director or names another reviewer Seat read at this head (2026-11-08T16:10Z): the diff matches order #31551 (one stroke for claim and verdict+landing, one |
|
domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw Contract-review-claim: session_01QsR2jT34CXs5fCn3BDirZw · head 3e24b82 · 2026-11-08T16:14Z The hold above is lifted: the maintainer ruled at 16:12Z that a lane with Fable runs its own |
|
domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw Contract reviewServed-tier: Inputs: card #31551 (body, triage 6722994869, claim 6723407287, os-dev-report 6723796105), PR #31583 body and file list, ① Derived judgments
② Semver level
③ Boundary flags
④ Design judgmentexecution-duties.md (hits). Line 70 (partial-landing release as one stroke) and line 72 (the dispatch atomic pair as one
landing-operations.md (hits). Line 51 is judged against
scripts/pm/post-stamped.mjs (implementing). scripts/pm/label-write.mjs (implementing).
Verdict basis: no must-fix. F1 and F2 are should-fix on prose faces of the same skill and earn a delta review of their fix by this reviewer; F3 is a nit. Implemented-by: VERDICT: PASS |
dispatch-runbook's claim write order now names the label-write --comment-file fold (comment first, the executor stops at its first failure), and the comment-stored-labels-missing repair re-sends labels only. The landing 429 retry names the bare pr_ready + automerge_enable ops in rest-channel.md, so a retry never posts a second comment. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jQze2kJDxaxMsAW2kY
|
domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw Contract reviewServed-tier: Delta record, same reviewer as record 6723957070 (PASS on ① Derived judgments
② Semver level
③ Boundary flags
④ Design judgmentF1 — CLOSED. dispatch-runbook.md:36–37 now read 「写序:认领一笔 F2 — CLOSED. landing-operations.md:51 is unchanged (the landing is The 「不自定节奏」 deviation — no rule lost. The old line prescribed the pace positively (「该刻记卡,到点一次重试」: record the moment, retry ONCE, AT the reset time) and then forbade its negation (「不自定节奏」). The new line keeps the positive form whole — 「卡记 F3 — left as is, nit stands. execution-duties.md:73 unchanged; no correctness effect (the post-stroke execution-duties.md:70, :72, landing-operations.md:51, scripts/pm/label-write.mjs, scripts/pm/post-stamped.mjs — byte-identical to Verdict basis: both should-fix findings of 6723957070 are closed on this head by prose that agrees with the code it cites; the one nit is an accepted deviation; no must-fix, no new should-fix. This ends the round. Implemented-by: VERDICT: PASS |
|
domain:skills#2 · zhuangjianguo · session_01QsR2jT34CXs5fCn3BDirZw 维护者速读
席位核对Head-sha:
|
Requested by Steedos · project thread
Fixes #31551
维护者速读
scripts/pm/label-write.mjs中的foldStroke,以及post-stamped.mjs新导出的judgeBody。node scripts/pm/label-write.mjs --self-test,看到 196 条通过、14 组。.claude/**改动,保持草稿)。What changes
scripts/pm/post-stamped.mjs: the body checks (render, signature first line, claim keyed lines, record lines, decision facets, vacant ledger) move into one exportedjudgeBody.maincalls it; behaviour is unchanged.scripts/pm/label-write.mjs: new--comment-file FILEsends the stamped comment, the label diff and the assignee change as ONE fleet-write dispatch (the--releaseshape, viareleaseActions).--land(pull requests only, needs--comment-file) appendspr_readyandautomerge_enableto the same stroke. The comment is judged byjudgeBody, so the signature first line and the one-clock{{NOW}}stamp hold. RELAY-ONLY: a direct route is refused (exit 3).④ labels,④ assignees,④ comment(plus the stamp-drift and byte-class lines from post-stamped's verdict), and with--land④ pull(draft judged; RESTauto_mergeprinted, not judged, the executor's landed check judges the arming). Any mismatch exits 4 and is never repaired; an unreadable read exits 3.scripts/pm/fleet-write/ops.mjs: the fold usesissue_comment,labels_*,assignees_*,pr_readyandautomerge_enableas they are.Why
A claim or a verdict went out as two or three separate writes, each paced and read back on its own. Between them the card sat half-written. Folding them into one dispatch keeps pacing (the executor still spaces each write), keeps every read-back, and keeps the signature check.
Verification
node scripts/pm/label-write.mjs --self-test: 171 cases / 13 batteries before, 196 / 14 after. The new battery pins the claim fold, the verdict fold, a refusal for each part that fails read-back (labels, assignee, comment, pr_ready), unsigned / typed-stamp / bad-keyed-line refusals,--landon an issue, the direct-route refusal, no-run, failure and dry run.node scripts/pm/post-stamped.mjs --self-test: 753 / 26 before, 761 / 27 after (the one-judge battery).node scripts/pm/fleet-write/dispatch.mjs --self-test: 358 / 30, including the no-run conformance.node scripts/pm/dispatch-gates.mjs --commands: 40 derived, 40 run, all exit 0;--ranreconciles 0 NOT-MEASURED.Clause-②: no
Metadata-protocol: none
Human Minimum
packages/specholds no runtime logic. (not touched)--no-inline-config, thepnpm lintflags).main, one pull request.skip-changeset)packages/spectouched: its generated artifacts are regenerated and committed. (not touched)content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.维护者速读block)🤖 Generated with Claude Code
https://claude.ai/code/session_01QsR2jQze2kJDxaxMsAW2kY