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

os-help merged 2 commits into
mainfrom
claude/issue-7341-pm-skill-batch-a

Conversation

@os-help

@os-help os-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)

# Item Landing section Before After
1 #6644 L2 dev half SKILL step 5 prompt template template 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 half SKILL step 7 first review bullet + 入队与落地 B flip-timer paragraph bullet framed the PM read as "复核侧的对账" against the dev's own CI wait bullet 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
4 Report-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-only report 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
5 Role-file precedence (batch item 5) SKILL step 5 sunk-clauses paragraph; os-dev.md "Standard clauses live HERE" placement of standard clauses read as editorial measured 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
6 Triage size/model suggestion (batch item 6) SKILL step 2 audit-trail bullet; step 4 Container-and-model note; Model tiering tail no triage-time model input existed optional-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
7 Multi-account slimming (batch item 7) SKILL step 4 intro shared-identity rituals read as unconditional same-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
8 Decision-card re-check commands (batch item 8) SKILL step 8 points 1 and 3 premise refresh required re-research every premise line carries its own re-check command as a template requirement; analysis structure gains a premises slot
9 Model tiering rewrite (batch item 9) SKILL step 5 "Model tiering" + claim-comment template + container-verdict examples two tiers (sonnet/opus), 2026-08-09 authority three 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
10 M+ defaults to mode:cloud (scope addition, maintainer ruling of 2026-08-10, 「确认,M 及以上默认云卡,并进 #7341」) SKILL Resource-limits sizing section + "Dispatch backends" + the Arguments mode: row mode:subagent was the stated default ("Prefer this mode"); mode:cloud was a heavy-card exception behind a criteria list M 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 prescription os-dev.md resource rule 4 "git worktree remove --force" prescribed unconditionally delete 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

vercel Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 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 free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/m skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants