Skip to content

[batch] pm-dispatch SKILL consolidated amendments + compression — eight ruled cards, two serialized PRs (skills seat, round 1) #7631

Description

@os-help

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_queuemerged 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)

  1. 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.
  2. 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.
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions