Repository navigation
docs(pm-dispatch): decision-analysis writes the platform-first rule behind the app-repo recommendation special case - #24280
Conversation
…behind the app-repo recommendation special case The maintainer's standing word becomes the general rule of the app-repo recommendation-order section, verbatim and dated, with the existing blocked-card special case kept byte-identical as its application and the two corollaries the ruling batch used: a temporary extension of a platform contract only with the platform card and the removal card filed in the same ruling, and a platform card filed from an app-repo ruling taking the ruled card's priority. Paid at net zero lines (50/50, ceiling 50) by folding the scope section into the intro line and dropping the intro's table of contents, which the section headings already carry. Claude-Session: https://claude.ai/code/session_01QBcLjVCmcWbZEk6qhYMib2 Co-authored-by: Claude <noreply@anthropic.com>
…atform-first-rule
Contract reviewServed-tier: Face: governed rules text ( ① Derived judgments
② Semver level
③ Boundary flags
Implemented-by: VERDICT: PASS Generated by Claude Code |
维护者速读改了什么:决策分析写法( 为什么改:批 362 里几张应用仓卡(cloud 2924、2948、2925、2774)都能在应用仓里绕过平台缺口,您全部裁为等平台或推动平台修。这句话此前只在台账里,席位排推荐序时读不到;写进参考文件后,同类卡的推荐默认指向平台,不会再出现应用仓先做替代品、平台那半张卡排在后面没人做的局面。 风险与代价(含回滚):只改一份给席位读的内部参考文件,不发版、不动代码与门禁;行数棘轮、编号 lint、四轴框架同步三项门禁席内在该提交上实跑全绿。风险是两条推论的措辞是席位和开发从您的裁决案例归纳的,若与您的本意有出入,改一行即可。回滚 = revert 本 PR 一个提交。 席位意见:ACCEPT。席内达档契约复核 PASS(6247374427,head 你要做的:无。若对两条推论的措辞(第 49、50 行)有异议,在卡上一句话说明,席位补一张一行 PR。 席位核对Seat Implemented-by:
Generated by Claude Code |
Fixes #24256
Clause-②: no
What changes
One file,
.claude/skills/pm-dispatch/references/decision-analysis.md, section 〈应用仓推荐序特例〉. The maintainer's standing word of 2026-10-18, 「平台相关的功能,应该尽量先改平台。」, becomes the general rule of the section, verbatim and dated; the existing blocked-card special case stays byte-identical as its application; the two corollaries the ruling batch used are added; provenance is written in the corpus register (comment ids and case names as plain words, no hash prefix).The section after the edit (L44 to L50):
Where each item of the dispatch's deliverable lands:
Line budget: 50 before, 50 after, ceiling 50 (headroom 0, no raise)
Five lines added in the section are paid by five lines removed at the head of the file, all by deleting content the file already carries elsewhere; nothing is re-wrapped. Each removed clause and where it survives:
needs-user-decision卡与决策箱讨论的四维分析。」Measured before folding:
git grep -n "适用面" -- .claude scripts/pmat the base answers three lines, all in this file (old L3, the old heading L5, and L17, the batch flow's own unrelated 「适用面 =」 term), so no reader greps the heading.Every line of the file is within 120 bytes (the ratchet's line scan: zero offenders, zero exemptions; L3 and L46 to L50 measure 118, 120, 118, 119, 109 and 116 bytes).
Where this differs from the suggested route
Verification
All on the final head
46a29bff(the branch commite17629d8plus a merge oforigin/main93b4acb5, which touched onlyscripts/pm/dispatch-gates*.mjs). The gate list was derived from the merge base withnode scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack: 17 commands, the same 17 the seat derived. Each exit code was captured before any pipe:check:doc-formula-expressionsfirst answered exit 3 (PREREQUISITE NOT MET:@objectstack/formulaand@objectstack/lintunbuilt in this worktree). It was built under the shared verify lock (VERDICT command-exit 0) and re-run to exit 0. The exit 3 measured nothing and is not a finding.check-skill-line-ratchet: .claude/skills/pm-dispatch/references/decision-analysis.md is 50 lines (ceiling 50; headroom 0);check-skill-id-lint: 87 file(s) clean (pattern /#[0-9]{3,}/g);check-skill-frame-sync: the one declared copy of the decision frame is internally coherent;check-skill-frame-freshness: the decision frame in this tree is current with origin/main;check-nul-bytes: OK.--ranreconciliation:17 derived famil(ies) accounted for — 17 run, 0 NOT-MEASURED (a DERIVED zero — all 17 recorded an exit code and none of them is 3).Acceptance notes
.claude/**is unpublished, soskip-changesetis declared with this PR's labels and there is no changeset..claude/**): this PR stays draft for the seat's in-seat contract review.维护者速读(草稿)
Generated by Claude Code