feat(review-agent): add outcome labels to post-review.sh#874
Conversation
|
fullsend review is working on this — view logs |
Site previewPreview: https://bfa15481-site.fullsend-ai.workers.dev Commit: |
Review: #874Head SHA: e903bf9 SummaryThis PR correctly implements outcome labels in FindingsCriticalNone. HighNone. Medium
LowNone. Info
FooterOutcome: approve Previous runReview: #874Head SHA: c1dea91 SummaryThis PR adds outcome-label application to FindingsInfo
Dimensions evaluated
FooterOutcome: approve Previous run (2)Review: #874Head SHA: 3fa1d00 SummaryThis PR adds outcome-label logic to FindingsCriticalNone. HighNone. MediumNone. Low
Info
FooterOutcome: approve |
Review Squad Report — #874Agents dispatched: 10 (3x claude-coder, 3x claude-researcher, 2x gemini-code-review, 2x cursor-code-review) High (1)1. Stale labels accumulate across review cycles — no label cleanupFile: for stale_label in "ready-for-merge" "requires-manual-review" "rejected"; do
gh pr edit "${PR_NUMBER}" --repo "${REPO_FULL_NAME}" \
--remove-label "${stale_label}" 2>/dev/null || true
doneConsensus: 8/10 agents Medium (4)2. Test reimplements logic instead of testing production code — drift riskFile: 3.
|
| Finding | Agents | Strength |
|---|---|---|
| Stale label cleanup | 8/10 | Strong consensus |
| Test drift risk | 7/10 | Strong consensus |
| Duplicated label blocks | 6/10 | Strong consensus |
| Reject block issues | 6/10 | Strong consensus |
| Error suppression | 5/10 | Consensus |
| Missing test cases | 5/10 | Consensus |
| ACTION docs | 4/10 | Moderate |
| Silent request_changes | 3/10 | Moderate |
False Positives Removed
| Finding | Reason |
|---|---|
| ACTION variable is stale/buggy after downgrade | Confirmed correct — ACTION retains original value, DOWNGRADED compensates |
gh label create on every run is wasteful |
Pre-existing convention matching post-fix.sh, not introduced by this PR |
| Missing integration tests for gh CLI | Out of scope; unit test pattern matches existing repo convention |
Summary
The core logic is correct — the DOWNGRADED flag elegantly tracks protected-path downgrades and the label selection works as designed. The main issue is stale label accumulation (HIGH): re-runs will leave contradictory labels on PRs, violating the documented mutual exclusivity. The structural issues (reject block separation, test drift, error suppression inconsistency) are maintainability concerns worth addressing since this PR establishes the label state machine pattern.
ralphbean
left a comment
There was a problem hiding this comment.
Clean implementation that completes the label state machine from #552. Follows established patterns from post-fix.sh, tests match the existing conventions, and the DOWNGRADED flag is a nice minimal solution for tracking the protected-path downgrade.
One minor note inline (deferred, not blocking).
|
/fix |
|
fullsend fix is working on this — view logs |
Combine the downgraded-approve and comment branches into a single condition since both apply the same requires-manual-review label. This addresses the review feedback about verbatim duplication that could drift if one branch is updated without the other. Addresses review feedback on #874 Signed-off-by: fullsend-fix <fullsend-code@users.noreply.github.com>
🔧 Fix agent — iteration 1 (human-triggered)Addressed 1 review finding: deduplicated the requires-manual-review label block by combining two elif branches into one condition. Fixed (1):
Tests: passed Decision points
Updated by fullsend fix agent |
|
fullsend review is working on this — view logs |
After posting the review verdict, post-review.sh now applies outcome labels based on the review action, completing the label state machine documented in the bugfix workflow guide: - approve (no protected-path downgrade) -> ready-for-merge - approve (downgraded to comment) -> requires-manual-review - comment (split/conflicting review) -> requires-manual-review - request_changes -> no label (fix agent triggers on the event) Labels are created if missing, matching the needs-human pattern in post-fix.sh. A DOWNGRADED flag tracks whether the protected-path check changed the action so the correct label is applied based on the final posted action rather than the original. Closes #552 Assisted-by: Claude Code (Opus 4.6) Signed-off-by: Ben Alkov <ben.alkov@redhat.com>
c1dea91 to
e903bf9
Compare
|
fullsend review is working on this — view logs |
After posting the review verdict, post-review.sh now applies outcome labels based on the review action, completing the label state machine documented in the bugfix workflow guide:
Labels are created if missing, matching the needs-human pattern in post-fix.sh. A DOWNGRADED flag tracks whether the protected-path check changed the action so the correct label is applied based on the final posted action rather than the original.
Adds post-review-test.sh with unit tests for the label-selection logic and registers it in the Makefile script-test target.
Note: pre-commit and make lint could not run in sandbox due to network restrictions (gitleaks hook install blocked). The post-script runs authoritative pre-commit on the runner.
Closes #552
Post-script verification
agent/552-add-review-outcome-labels)7f3e5cce7dbb6d8aab3616b4b084ab3375fc84f8..HEAD)