--- kind: task slug: pr-checks-recovery-panel title: PR checks recovery panel in mission control plan_slug: automation-foundation epic_slug: forge-webhooks status: draft priority: P2 tenant_id: global owner: unassigned cursor_todo_id: null updated_at: "2026-08-03" --- # Task summary When a convoy is in `pr_review`, show linked PR CI status in mission control with classified failures and recovery actions (rerun jobs, link to repo setup). ## Description **Benchmark:** Autensa v2.5.1 PR checks recovery panel — classify failures as retryable, repo setup, or external provider; offer rerun where forge API supports it. ### UI (convoy detail panel) - PR link + check run list (name, status, conclusion) - Failure classification badge per check - Actions: **Rerun failed jobs** (GitHub Actions API), **Open repo setup** (Epic 3 follow-on task) ### Backend - tRPC `convoys.getPrChecks` — workspace-scoped, uses forge adapter - `convoys.rerunFailedChecks` — admin only; audit log in `convoy_events` ### Webhook integration - CI `completed` webhook refreshes cached check status on convoy metadata ## Dependencies - [Task-forge-webhook-receiver](./Task-forge-webhook-receiver.md) - [Task-repo-setup-preflight](../Epic-connected-repos/Task-repo-setup-preflight.md) (link target for setup failures) ## Subtasks - [ ] Forge adapter: list check runs for PR - [ ] Failure classifier (heuristics: permissions → setup, timeout → retryable, external → informational) - [ ] Mission control PR checks section when status is `pr_review` - [ ] Rerun action + event logging ## Estimation M ## Acceptance criteria - [ ] Failed lint CI shows retryable with working rerun (GitHub fixture or manual dogfood) - [ ] Missing Actions permission links to repo setup tab with failing check highlighted - [ ] No recovery action exposed without workspace admin role ## Links - Epic: `./Epic-forge-webhooks.md`