This tab is gated by the
pr_triage_real feature flag. If you don’t see it, contact your workspace admin.The List
Each row shows:- Repo / PR # and title
- Author avatar and name
- Review status chip — color-coded: awaiting review, in review, changes requested, approved
- CI status — green check, red X, or pending dot per check
- “Waiting on @X for N days” subtitle
- Codex-only marker — amber pill when only Codex has reviewed
Filter Bar
Above the list:- Search — matches title, author, repo,
#number, plan file paths - Refresh — manual GitHub sync; pulls PRs updated since
last_sync_atvia the same service the cron uses. Useful when you don’t want to wait for the next cycle. - Filter chips — All / Has plan
{N}/ Only codex reviewed / Waiting on human / Bots - Author dropdown — restrict to a specific author
- Clear filters — reset to All
Plan Detection
When a PR is loaded, the system scans its diff for files matching/plan/i — markdown plan docs, design specs, RFCs. Detected files appear in the row and feed the Has plan {N} filter.
Plan detection runs in batches of 50 visible unscanned PRs on tab open, so the first few seconds may show ”—” before counts populate.
The Detail Pane
Click a PR to open its detail. You’ll see:- Header — repo / number / title / author, status pill (Draft, Open, Merged, Closed)
- CI status — all checks with pass/fail
- Codex vs. Human — the headline section:
- Cards for codex-only change requests (unresolved)
- Cards for human change requests (unresolved)
- Cards for resolved requests
- Visual emphasis on PRs where only Codex has weighed in
- Reviewers — humans only; bots excluded
- Plan detection — “Has N plan files” badge or “No plan in PR, draft one with AI” prompt
- Linear suggestion — if the PR title or branch matches a Linear ticket, surfaces the match for one-click attach
Actions
- Promote — move this PR to
/projectsas a tracked item with the PR auto-attached - Attach signals — link relevant customer signals to the future project
- AI route — see AI Routing for full flow
Bulk Promote
Select multiple eligible PRs (those with aconversationId and not already linked to a confirmed project), then click Promote N. The system runs a bounded-concurrency queue (max 3 parallel) to:
- Fetch each PR from GitHub
- Detect plan files
- Create a tracked item with the PR attached
- Return success or failure per PR