Skip to content

pm-dispatch(runbook): 〈巡查常设项〉 spells the review claim as a Claim: comment and reads owed reviews off the label alone #28763

Open

Description

@objectstack-fleet

domain:skills#2 · marchtian · session_017ihL2g7RyXa8ErM6GAkHyc

Filing gate: ② two should-fixes of the contract review on PR #28759 (record 6561911910, SF-1 and SF-2), both on main before that PR and outside its card (#28740, a wording-only per-seat fix). Filed by domain:skills seat 2. ⛔ Not a claim. No grade: triage sets it.
Reader: domain:skills, .claude/skills/pm-dispatch/references/dispatch-runbook.md 〈巡查常设项〉 (L44, L45 on main).
Dedupe (open AND closed): "Contract-review-claim" in:body → none relevant; "check-owed-reviews runbook" → none; "巡查常设项" → only #28740 (the per-seat wording, landing in PR #28759).
reach: every seat whose patrol runs the cross-account review item.

What is inconsistent

  • SF-1: the runbook's review item tells a reviewer to leave a Claim: comment (session, account) before reviewing. contract-review.md and record-recognisers.mjs (CONTRACT_REVIEW_CLAIM_TEMPLATE, readContractReviewClaim) pin the review claim as Contract-review-claim: <session> · <head full sha> · <UTC>. That claim lapses after 2 h or when the head moves, and the lane seat wins ties. check-owed-reviews.mjs reads a Claim: comment as missing, so the rule 「不双做」 holds only in prose.
  • SF-2: the runbook's patrol reads owed reviews off label:needs:contract-review alone. contract-review.md names check-owed-reviews.mjs as the owed list, and that list also covers face-owed PRs without the label, hand-offs, holds and lapsed claims.

Wanted

  • L45: the review claim is spelled as contract-review.md spells it, by its key name. No second spelling of the form.
  • L44: the patrol reads the owed list from check-owed-reviews.mjs, not from the label search alone. The account-keyed self-exclusion stays: record 6561911910 ④ judged it right.
  • Net line count 0, every line ≤ the file's byte cap. Tier S by the register (.claude/**).

Blocked-by: #28740

Activity

  1. added
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    domain:skillsDomain lane — seat card indexed by label:pm:seat
    on Nov 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:skillsDomain lane — seat card indexed by label:pm:seatfindingRecorded observation — held, not dispatchable until the findings triage round grades it

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions