Skip to Content
SlackLive card

When a pull request opens on an in-scope repo, Warestack posts one card to the channel you name. Later events update that same message: Linear issue, reviews, checks, review threads, rule findings, next step. Close or merge renders a terminal card and stops reminders.

No duplicate top-level cards on webhook redelivery.

The card is a projection of current evidence, not a one-time notification. Issue association, checks, review submission or dismissal, pull-request comments and review comments—created, edited, or deleted, including replies and mentions—thread resolution, completed rule evaluation (including zero findings), and close/merge events update it. A terminal card stops reminders after merge or close.

Preferences that admit a new notification do not make an existing card stale. Once a chain owns a live card, maintenance events keep that card current without creating another top-level message. Updates still respect the card’s saved scope, destination, and ownership.

Anatomy

pull request #<n> · <title> <org/repo> · <branch> · created by <login> · updated after <event> Status Needs attention · Open | Ready · Open | Merged / Closed Linear issue DEV-XXXX ← omitted when Warestack has no association Review Needs review · <requested> | Approved by <logins> Checks 2/2 passing Review threads 0 actionable threads Review activity 0 review comments Rules N unresolved · High | No rule issues Next step: … [View on GitHub] [View on Warestack] [View on Linear when linked]

Status always has a label, never color alone. Linear is omitted when Warestack has no association — that is Require a Linear issue (custom.linear_issue_required) failing in public, not Require concise pull requests (pull_request.size_limit).

Propose this when

Production-path PRs already have (or should have) a Slack channel for review noise. Kind ID: pull_request_slack_live_card. One chain per repo, or one team-scoped chain if team scope is the right blast radius.

Do not

  • Propose a second top-level card per event. Request Update stays in the thread.
  • Invent a seventh card shape. Anatomy above is the product.

An ordinary review comment is Review feedback. GitHub’s formal CHANGES_REQUESTED review remains Changes requested; the two are not interchangeable.

Request Update

The Slack shortcut on the card asks Warestack for a fresh evidence summary and replies in that thread. It does not spawn a second top-level card, including on webhook redelivery.

Four tested outcomes

PR scenarioCard behavior at the tested event
Linked documentation PRLinear field present; one conventions finding
Linked feature below two-human barApproval finding present, then cleared after two evidence-rich approvals and PR re-evaluation
Feature with no Warestack Linear associationLinear field omitted; ticket/test findings visible
Linked but unrelated changeScope-drift finding visible; requested reviewer named

See worked examples for those four outcomes.

Same facts elsewhere

/warestack status and the Linear agent should agree with the card: linked issue, review line, checks, open findings. Do not flatten a 2/2 GitHub checks line with a 3/3 agent turn if those counts came from different snapshots.

Last updated on