Repository navigation
docs(pm-dispatch): a decision analysis recommends exactly one option - #24520
Merged
Merged
Conversation
Retire the fallback option from the decision-analysis template: the director's pre-batch increment lists recommendation and wording only, and the recommendation item becomes "recommendation + confidence gap" - one recommendation, one sentence per other option on why it is not taken, blind spots stated without turning into a second recommendation. Line count unchanged (50 against the 50 ceiling); the rewritten line is compressed to the 120-byte line budget. Claude-Session: https://claude.ai/code/session_01HEdP5tPhqQfzwRmKDxwn85 Co-authored-by: Claude <noreply@anthropic.com>
os-zhuang
approved these changes
Oct 19, 2026
os-zhuang
marked this pull request as ready for review
October 19, 2026 14:27
os-zhuang
enabled auto-merge
October 19, 2026 14:28
This was referenced Oct 19, 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 #24444
Clause-②: no
What
Two lines of
.claude/skills/pm-dispatch/references/decision-analysis.md, nothing else (1 file, +2 / −2):The four facets, the 自检 line and the 裁后执行 paragraph are untouched;
SKILL.mdis untouched.Why
The maintainer, 2026-10-19: 「你的决裁总是有一个回退合理吗?是完全不同的开发方向。最终结论应该只有一个吧?是 skills 的问题吗」, then 「同意」 on the card's change. Ruling of record: director ledger comment
6259199455(on #12708).Route A: compressed in place, line count unchanged
The card's line-26 text measures 150 bytes; the ratchet's
MAX_LINE_BYTESis 120 (scripts/pm/check-skill-line-ratchet.mjs), and the file sits at 50 lines against its 50-line ceiling (headroom 0). So the ruled wording cannot land verbatim on one line. Route A (compress the wording, keep every clause, add no line) loses no clause, so route B (fold the verbatim text into two lines and raise the ceiling 50 → 51 under the ruling) was not taken and theCEILINGSrow is unchanged.Clause survival, ruled text → landed fragment:
Nothing is added: no new clause, no new term, each clause keeps its own separator and its own ⛔. A shared-⛔ variant that kept 只荐一项 whole (
…盲区明说,⛔ 不因此另荐,不沿用他席推荐。, 119 B) was weighed and refused, because it lets 因此 read across clause ⑤.Line budget
Control: with the card's verbatim text placed at line 26, the gate's own
scanLineLengthsreports[{"line":26,"bytes":150}]; on the landed tree it reports[].Premise checks on
origin/mainf4755a68agit grep -n "回退" f4755a68a -- .claude/skills/pm-dispatch/ .claude/agents/gives 15 hits. Only these two are decision-analysis uses; the rest (os-dev wording ×4,SKILL.mdline 249's??fallback,dispatch-runbook.md,execution-duties.md,lanes/triage.md,platform-readings.md×3,reading-discipline.md) are untouched.git grepfor 回退/口径, 给回退项 and 推荐 + 回退 finds only the two lines themselves.Verification, all at head
ddf97945bThe 17 families
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderives for this diff, each exit code captured before any pipe: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/lintunbuilt in the fresh worktree; built under the verify lock, rerun 0)pnpm 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-ratchetdecision-analysis.md is 50 lines (ceiling 50; headroom 0), no line-length offenderpnpm check:refd-timer-probepnpm check:skill-frame-syncpnpm check:watch-hint-literaldispatch-gates --ranwith the exit-coded record:17 derived, 17 run, 0 NOT-MEASURED, 0 UNRUN(a derived zero). Also run:pnpm check:pm-settings-deny-rosterexit 0 (its roster lives under.claude).node scripts/pm/check-governed-merges.mjs --branchanswers GOVERNED, Tier S (exit 3, the governed code). Text-only change: no tests, no ablation. The type-check lanes,test:repoandpnpm lintbelong to CI.Acceptance notes
.claude/**only). This PR stays a draft; ready and queue belong to the owning seat after an isolated contract-tier review..claude/**publishes nothing;skip-changesetis declared with this PR's creation.维护者速读(草稿)
Generated by Claude Code