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, thread, rule, and close/merge events update it. A terminal card stops reminders after merge or close.
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 custom.linear_issue_required failing in public, not catalog rule 1.
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.
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 scenario | Card behavior at the tested event |
|---|---|
| Linked documentation PR | Linear field present; one conventions finding |
| Linked feature below two-human bar | Approval finding present, then cleared after two evidence-rich approvals and PR re-evaluation |
| Feature with no Warestack Linear association | Linear field omitted; ticket/test findings visible |
| Linked but unrelated change | Scope-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.