|
2 | 2 | description: List Claude-authored PRs that haven't failed (ready or still running) with their actual check state |
3 | 3 | --- |
4 | 4 |
|
5 | | -List open PRs authored by Claude (branches starting with `claude/`) that have **not** had any check fail. Show each PR's actual state (READY when all checks finished green, RUNNING when sweeps are still queued/in-progress) along with a per-status check breakdown. |
| 5 | +List open PRs authored by Claude (branches starting with `claude/`) that have **not** had any check fail. Show each PR's actual state (READY when all checks finished green, RUNNING when sweeps are still queued/in-progress) along with a per-status check breakdown, rendered as a markdown table. |
6 | 6 |
|
7 | 7 | ## Step 1 — list candidate `claude/*` PRs |
8 | 8 |
|
@@ -49,13 +49,21 @@ while IFS=$'\t' read -r pr title; do |
49 | 49 | done < /tmp/claude_pr_candidates.tsv |
50 | 50 | ``` |
51 | 51 |
|
52 | | -## Step 3 — present the result |
| 52 | +## Step 3 — render markdown table |
53 | 53 |
|
54 | | -Sort READY first, then RUNNING. Render a markdown table with columns: |
| 54 | +Print the result directly as a markdown table. READY rows first, then RUNNING. Each PR is a clickable link. |
55 | 55 |
|
56 | | -| PR | State | Check breakdown | Title | |
57 | | -|---|---|---|---| |
| 56 | +```bash |
| 57 | +{ |
| 58 | + printf '| PR | State | Check breakdown | Title |\n' |
| 59 | + printf '|---|---|---|---|\n' |
| 60 | + # READY first, then RUNNING; within each group keep input order (descending PR number from gh) |
| 61 | + awk -F'\t' '$2 == "READY"' /tmp/claude_pr_status.tsv |
| 62 | + awk -F'\t' '$2 == "RUNNING"' /tmp/claude_pr_status.tsv |
| 63 | +} | awk -F'\t' 'NR<=2 {print; next} |
| 64 | + {printf "| [#%s](https://github.com/SemiAnalysisAI/InferenceX/pull/%s) | %s | `%s` | %s |\n", $1, $1, $2, $3, $4}' |
| 65 | +``` |
58 | 66 |
|
59 | | -Each PR cell should be a markdown link to `https://github.com/SemiAnalysisAI/InferenceX/pull/<number>`. The check breakdown column should show the per-state counts (e.g. `SUCCESS=44 SKIPPED=7 NEUTRAL=1` or `SUCCESS=9 QUEUED=34 IN_PROGRESS=14 SKIPPED=6 NEUTRAL=1`). |
| 67 | +If `/tmp/claude_pr_status.tsv` is empty, print: `_No claude/* PRs are currently READY or RUNNING — all open Claude PRs have failures or no sweep results._` |
60 | 68 |
|
61 | | -Do **not** auto-merge. This command is informational only. |
| 69 | +Output the resulting markdown table to the user verbatim. This command is informational only — do **not** auto-merge. |
0 commit comments