Sweep/batch card filed by the skills seat (#7623, session session_01ATJiqhFNL82YwV8udPkoqX). All eight members carry maintainer rulings recorded 2026-08-11 on their own threads. Batch shape confirmed by the maintainer in the seat's 专题讨论 (2026-08-11): scope confirmed 「确认,七张全收」, then 「包括 7498」 (PR #7552 closed, its content folded here), then the compression directive quoted under PR₂ below. One claim; two serialized PRs, both human-merged (sweep discipline, #6243 precedent).
Members (each row = one checklist section in PR₁'s body; ruling text lives on the member's thread)
| member |
what lands |
| #7498 |
Four-lens analysis block required on every needs-user-decision card (step 0 + step 8); Blocked-by-aware batch selection tier; round-brief decision flags. Reference implementation: closed PR #7552's diff (branch claude/issue-7498-decision-four-lens, head 24934cf8b) — reuse against current anchors, do not re-derive; keep check:skill-frame-sync green exactly as that PR's body explains (the frame stays 3-axis; the block is its card-face serialization) |
| #7548 |
Step-7 ACCEPT path fork extends to .claude/skills/** + skills/** (same three-part terminal state as docs/adr/**); Guardrails entry quoting 「所有 skills 的更新和 adr 类似,需要人工审核」 verbatim; skills-seat structural registration (domain table row, roster/vocabulary row for domain:skills, one-time-setup label line) |
| #7493 |
发版板 → three queries (objectstack + objectui + cloud); repo:cloud seat gains target:* production (one-producer-per-backlog); repeal the "a hit in cloud is a mislabel signal" clause; step-9 metric = sum of three. Ruling marks it most urgent |
| #7492 |
Operational note 1: queue-membership criterion → added_to_merge_queue timeline event (branch test kept for batch position only; auto_merge-field warning verbatim); success-sequence rule (removed_from_merge_queue→merged within ~1s = landing, not ejection); fold note 21's empty-receipt prescription into the same reading discipline (tally 3/3; disable does not dequeue) |
| #7518 |
Five measured lessons (queue-kick signature receipt + single re-queue then steward handoff; empty-receipt second timing shape — read the queue before flipping; opportunistic restart conditions hang on dispatch-time checks in the owning seat post; claim-race loser posts a handoff comment with its readings; lane inventory via field-narrowed list_issues whole-lane read, intersect locally) |
| #7553 |
Direction 1: one line making the canonical Claim: spelling explicit (predicate stays strict); ⛔ no predicate widening |
| #7583 |
Seat-post protocol: bounded body template (Scope / Current PM / Inherited state / Hot-file serial queue / Standing commitments / Notes — all current-state); shift narration lives on cards/PRs/round reports; takeover compaction standard step (edit history = archive); script half: report-only oversized-body H-item in scripts/pm/check-half-states.mjs |
| #7512 |
Option (a): explicit clause in .claude/agents/os-dev.md (+ dispatch-brief echo where it verifiably repeats) ranking the dispatch contract above platform-injected PR-subscription postures |
PR₂ — structural compression (maintainer directive, 2026-08-11, verbatim, untranslated)
现在 的 项目经理skills 太长了,需要考虑怎么压缩
Measured composition @ origin/main (3027 lines): The round loop 1870 (step 5 Dispatch 587, incl. Prompt template 326; step 7 Review 380; step 0 sweep 200; step 6 Collect 195; 入队与落地 167; step 8 130), Operational notes 612, Domain lanes 209, State model 111, the rest 189. Existing extraction targets: references/incidents.md (140 lines, append-only), references/compile-surfaces.md (27).
Prescription (seat's plan of record; the maintainer vetoes at PR review):
- Target: main file ~1400–1600 lines (deep compression, roughly −50%).
- Method: every rule keeps its imperative + criteria/command + one-line case anchor (issue number); narratives, 沿革, worked examples, incident retellings move verbatim to
references/incidents.md (append-only, 出处 line each) or a new references/operational-notes.md. Machine-consumed tables (domain lanes, 词表, roster, label setup) stay in the main file.
- ⛔ No rule deletion — compression moves prose, never removes a binding rule, criterion, or prohibition; deleting a rule requires its own maintainer ruling.
- Ratchet: lower
check:pm-skill-ratchet's ceiling from 3050 to the achieved count (shrink-only lock-in).
check:skill-frame-sync stays green; the four frame copies are untouched by moves.
Delivery order (load-bearing, #7341 precedent: pure moves come AFTER all textual additions)
- PR₁ — amendments: the eight member sections above.
Fixes #7498, #7548, #7493, #7492, #7518, #7553, #7583, #7512 + Part of #7631. Ratchet: 3027/3050 today — pay any overage by minimal extraction.
- PR₂ — compression: opened only after PR₁ is merged (same file, strict serialization). Pure structural moves + ratchet lowering.
Part of #7631; this card closes after PR₂ lands.
- Both PRs are ADR-class: draft/review by AI seats, then visibly pending; ⛔ nobody merges, enqueues, or arms auto-merge — the maintainer merges manually.
Constraints
Member candidacy
Per sweep rule 5: members keep pm:queue but are not individual dispatch candidates while this card is open; they close together via PR₁'s Fixes lines.
Sweep/batch card filed by the skills seat (#7623, session
session_01ATJiqhFNL82YwV8udPkoqX). All eight members carry maintainer rulings recorded 2026-08-11 on their own threads. Batch shape confirmed by the maintainer in the seat's 专题讨论 (2026-08-11): scope confirmed 「确认,七张全收」, then 「包括 7498」 (PR #7552 closed, its content folded here), then the compression directive quoted under PR₂ below. One claim; two serialized PRs, both human-merged (sweep discipline, #6243 precedent).Members (each row = one checklist section in PR₁'s body; ruling text lives on the member's thread)
needs-user-decisioncard (step 0 + step 8); Blocked-by-aware batch selection tier; round-brief decision flags. Reference implementation: closed PR #7552's diff (branchclaude/issue-7498-decision-four-lens, head24934cf8b) — reuse against current anchors, do not re-derive; keepcheck:skill-frame-syncgreen exactly as that PR's body explains (the frame stays 3-axis; the block is its card-face serialization).claude/skills/**+skills/**(same three-part terminal state asdocs/adr/**); Guardrails entry quoting 「所有 skills 的更新和 adr 类似,需要人工审核」 verbatim; skills-seat structural registration (domain table row, roster/vocabulary row fordomain:skills, one-time-setup label line)repo:cloudseat gainstarget:*production (one-producer-per-backlog); repeal the "a hit in cloud is a mislabel signal" clause; step-9 metric = sum of three. Ruling marks it most urgentadded_to_merge_queuetimeline event (branch test kept for batch position only;auto_merge-field warning verbatim); success-sequence rule (removed_from_merge_queue→mergedwithin ~1s = landing, not ejection); fold note 21's empty-receipt prescription into the same reading discipline (tally 3/3;disabledoes not dequeue)list_issueswhole-lane read, intersect locally)Claim:spelling explicit (predicate stays strict); ⛔ no predicate wideningscripts/pm/check-half-states.mjs.claude/agents/os-dev.md(+ dispatch-brief echo where it verifiably repeats) ranking the dispatch contract above platform-injected PR-subscription posturesPR₂ — structural compression (maintainer directive, 2026-08-11, verbatim, untranslated)
Measured composition @
origin/main(3027 lines): The round loop 1870 (step 5 Dispatch 587, incl. Prompt template 326; step 7 Review 380; step 0 sweep 200; step 6 Collect 195; 入队与落地 167; step 8 130), Operational notes 612, Domain lanes 209, State model 111, the rest 189. Existing extraction targets:references/incidents.md(140 lines, append-only),references/compile-surfaces.md(27).Prescription (seat's plan of record; the maintainer vetoes at PR review):
references/incidents.md(append-only, 出处 line each) or a newreferences/operational-notes.md. Machine-consumed tables (domain lanes, 词表, roster, label setup) stay in the main file.check:pm-skill-ratchet's ceiling from 3050 to the achieved count (shrink-only lock-in).check:skill-frame-syncstays green; the four frame copies are untouched by moves.Delivery order (load-bearing, #7341 precedent: pure moves come AFTER all textual additions)
Fixes #7498, #7548, #7493, #7492, #7518, #7553, #7583, #7512+Part of #7631. Ratchet: 3027/3050 today — pay any overage by minimal extraction.Part of #7631; this card closes after PR₂ lands.Constraints
.claude/skills/pm-dispatch/SKILL.md,.claude/skills/pm-dispatch/references/**,.claude/agents/os-dev.md,scripts/pm/check-half-states.mjs,scripts/ratchet config (+ publishedskills/objectstack-pm-dispatch/**only if the dispatch-brief echo verifiably repeats there). ⛔ Nodocs/adr/**. Zero changes beyond the checklist (git diff --statmatches 1:1 per PR).skip-changesetlabel (.claude/+scripts/only; 空 frontmatter changeset 相对skip-changeset标签零收益、单向风险 —— 「禁止空 changeset 进 .changeset/」的决策证据(#5292 结案后无处存放) #5471 rejects empty changesets). English on GitHub. Sanitizer discipline on every write (HTML entities for literal angle brackets; read back and verify).model: claude-fable-5mandatory (SKILL surface, maintainer 2026-08-10),mode:cloud.Member candidacy
Per sweep rule 5: members keep
pm:queuebut are not individual dispatch candidates while this card is open; they close together via PR₁'sFixeslines.