Skip to content

docs(pm-dispatch,os-dev): report at draft-PR time, three-tier model policy, and the #7341 protocol text batch (PR A) - #7357

Merged
os-help merged 2 commits into
mainfrom
claude/issue-7341-pm-skill-batch-a
Aug 10, 2026
Merged

docs(pm-dispatch,os-dev): report at draft-PR time, three-tier model policy, and the #7341 protocol text batch (PR A)#7357
os-help merged 2 commits into
mainfrom
claude/issue-7341-pm-skill-batch-a

Conversation

@os-help

@os-helpos-help commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

Fixes#6644, Fixes#7055, Fixes#7156
Part of #7341

PR A of the three-PR #7341 batch (A = protocol text, B = structure extraction, C = tooling). Two files: .claude/skills/pm-dispatch/SKILL.md (3013 → 3112 lines) and .claude/agents/os-dev.md (629 → 674 lines).

Maintainer authorization (verbatim, untranslated — Guardrails .claude/ tooling exception)

关于项目经理的技能,接受你的优化意见,并和前面两个优化任务集中处理。派发使用云卡片,用 Fable 5 模型

项目经理技能还需要考虑的是派任务时使用什么模型,也应该项目经理决定,最低下限 sonnet,最高可以 fable

比如 更新 项目经理技能 必须要使用 Fable 5

确认,M 及以上默认云卡,并进 #7341

(Maintainer, devx seat's chat session, 2026-08-10; recorded on #7341, its claim comment, and the item-10 scope-addition comment. #6644 L2's own approval: maintainer ruling of 2026-08-10 05:10Z on #6644, plus the L2 shape decision recorded in the 07:11Z claim comment there.)

Per-item checklist (item | landing section | before | after)

#ItemLanding sectionBeforeAfter
1#6644 L2 dev halfSKILL step 5 prompt templatetemplate tail said "you wait for CI to converge before reporting either way"new template clause: report at draft-PR time, gate status recorded honestly (in_progress included), ⛔ no idle-poll; optional per-card 「本单等 CI」 override slot
2#6644 L2 PM halfSKILL step 7 first review bullet + 入队与落地 B flip-timer paragraphbullet framed the PM read as "复核侧的对账" against the dev's own CI waitbullet rewritten: report-before-green is the expected shape, the PM's gate-job-conclusion read is the only gate reader, red gates route to a patch round; flip-timer paragraph marked as L2's PM half; B-over-D evidence (#6041/#6906, deaths between work-done and report) cited
3#6644 L2 role-file half (also closes#7156)os-dev.md Definition of done + "Local verification scope" + "Terminating cleanly""Wait for CI to converge before you return the report" bullet; scope-⚠️ said the local-farm trade is sound because "you still wait for CI"; terminating-cleanly sequence included "the foreground CI-convergence read"reporting bullet: report at draft-PR time, ⛔ never sleep/timer-wait/idle-poll CI (#7156's measured cost cited: ~43 min / 141→168 calls / 222k→260k tokens, zero progress), per-card override restores the old contract; scope-⚠️ re-anchored on the PM's convergence read; sequence updated
4Report-channel unification (batch item 3)os-dev.md intro + "Terminating cleanly"; SKILL step 6 (subagent, cloud, Routine boundary)report existed only as the subagent return message; the issue-comment marker was cloud-mode-onlyreport lands twice, GitHub first (issue comment opening with the os-dev-report HTML-comment marker, read back after posting); return message demoted to accelerator; step-6 collection reads GitHub first in both modes
5Role-file precedence (batch item 5)SKILL step 5 sunk-clauses paragraph; os-dev.md "Standard clauses live HERE"placement of standard clauses read as editorialmeasured precedence rule written in (#7055: a verbatim per-dispatch prohibition lost to the role file); unconditional clauses live in os-dev.md and are fixed there; per-card variables go through explicit interfaces; devs surface prompt-vs-role-file conflicts instead of picking silently
6Triage size/model suggestion (batch item 6)SKILL step 2 audit-trail bullet; step 4 Container-and-model note; Model tiering tailno triage-time model input existedoptional-but-recommended "Size/model suggestion" line in the classification comment; executor consumes it in the claim comment and may override with a stated reason; cannot lower the mandatory fable clause
7Multi-account slimming (batch item 7)SKILL step 4 introshared-identity rituals read as unconditionalsame-account scope note: session-ID/tiebreaker rituals scoped to within-one-account; cross-account rule stays one line (assignee not yours ⇒ taken); ⛔ rituals kept, not deleted
8Decision-card re-check commands (batch item 8)SKILL step 8 points 1 and 3premise refresh required re-researchevery premise line carries its own re-check command as a template requirement; analysis structure gains a premises slot
9Model tiering rewrite (batch item 9)SKILL step 5 "Model tiering" + claim-comment template + container-verdict examplestwo tiers (sonnet/opus), 2026-08-09 authoritythree tiers: floor sonnet (mechanical, gate-judged), default judgment tier opus, ceiling fable (claude-fable-5); mandatory claude-fable-5 for any card touching the PM skill, no discretion downward; the rulings above quoted verbatim as the authority block; resolution-order and env-var caveats kept unchanged; model recorded in the claim comment
10M+ defaults to mode:cloud (scope addition, maintainer ruling of 2026-08-10, 「确认,M 及以上默认云卡,并进 #7341」)SKILL Resource-limits sizing section + "Dispatch backends" + the Arguments mode: rowmode:subagent was the stated default ("Prefer this mode"); mode:cloud was a heavy-card exception behind a criteria listM and above default to mode:cloud single-card dispatch; only S-grade mechanical cards stay mode:subagent; the old criteria list becomes examples of the M+ class, not the trigger list; the three companion disciplines (subscribe on creation, issue-comment report authority, archive_session at terminal state) named beside the default
11#7055 cleanup prescriptionos-dev.md resource rule 4"git worktree remove --force" prescribed unconditionallydelete node_modules first, then unforced git worktree remove; a refusal then means uncommitted work — stop and read git status before considering the flag; cleanup stated as a step of the task

git diff --stat corresponds 1:1: exactly the two files above, nothing else.

Declared readings

Verification

  • node scripts/check-nul-bytes.mjs — OK (both commits)
  • pnpm check:skill-frame-sync (self-test 12/12 + real run) — 4 copies isomorphic, 3 axes, binding sentence present in all 4
  • pnpm check:skill-compatibility (self-test 18/18 + real run) — 11 SKILL.md files reconciled, all majors match
  • pnpm check:agent-model-declared (self-test 18/18 + real run) — os-dev.md → opus declared
  • Leftover-contradiction grep for the retired dev-side CI wait: only historical references remain, rewritten for coherence

Notes for review

  • .claude/-only ⇒ no changeset; skip-changeset applied.
  • Ordering is load-bearing: PR B (structure extraction, Fixes #5925) is cut on top of this branch and re-derives its cut points from the post-A file; PR C (tooling) follows.
  • This PR edits the operating skill of the PM seat that dispatched it — left draft; merge decision is the maintainer's/PM's per the batch card.

Generated by Claude Code

…olicy, and 7 protocol batch items (#7341 PR A)
Batch card #7341's protocol-text half, PR A of three:
- #6644 L2: devs report at draft-PR time; the PM owns CI convergence,
ready-flip and landing. Step-5 template clause + step-7 PM duty +
os-dev.md Definition-of-done rewrite, with a per-card wait-for-CI
override.
- #7055: cleanup prescription drops --force — delete node_modules first,
then unforced git worktree remove; a refusal means uncommitted work.
- #7156: closed by the L2 clause (idle-poll prohibition at the role-file
layer), with the measured cost cited in the reporting item.
- Report-channel unification: every dev report also lands as an issue
comment with the os-dev-report marker; the return message is an
accelerator. Step-6 collection reads GitHub first, both modes.
- Role-file precedence rule (unconditional clauses live in os-dev.md).
- Triage classification comment gains an optional size/model suggestion
line; executor may override with a stated reason.
- Same-account scope-marking of shared-identity claim rituals.
- [Decision] cards: every premise line carries its own re-check command.
- Model tiering rewrite: floor sonnet, default opus, ceiling fable;
mandatory claude-fable-5 for cards touching the PM skill; three
maintainer rulings quoted verbatim as the authority block.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QrT21cGQfFVDWtVJysRtXo
@vercel

vercelBot commented Aug 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
ProjectDeploymentActionsUpdated (UTC)
objectstackIgnoredIgnoredAug 10, 2026 8:16am

Request Review

…item 10)
Maintainer ruling of 2026-08-10, quoted verbatim in the section:
「确认,M 及以上默认云卡,并进 #7341」. The 2026-08-07 heavy-card
exception list becomes examples of the M+ class, not the trigger list;
only S-grade mechanical cards stay mode:subagent. The three companion
disciplines (subscribe on creation, issue-comment report authority,
archive_session at terminal state) are named beside the new default.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QrT21cGQfFVDWtVJysRtXo
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationsize/mskip-changesetPR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants

@os-help@claude