feat(github): gate comment-shaped Ally review findings (BLO-21907) - #1262
Conversation
|
🔗 Paperclip issue: BLO-21907 |
1 similar comment
|
🔗 Paperclip issue: BLO-21907 |
|
Checked in on this per BLO-21907 (this PR carries forward the fix from #1049). Falsifying before acting, per the reliability lane's triage protocol: No reviewer findings currently exist to address. The one failing required check ( Re-ran the failed jobs ( |
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2c6ba0a to
1d3174b
Compare
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
@ally please review exact head Rebased onto current master while preserving masters formal App-approval evidence path unchanged; this head adds only the separate opt-in exact-head comment-status gate. Verification: 124 runnable focused tests passed (54 host DB skips), server typecheck passed, configured StatefulSet and HA Deployment Helm renders passed, diff check passed, and commit attribution passed. |
There was a problem hiding this comment.
Ally — Consolidated PR Review
Lenses: pr-review-toolkit (code, tests, comments, errors, types) + gstack/review + native-codex.
Reviewed head: 1d3174b
Critical Issues (0)
Important Issues (0)
Suggestions (0)
Strengths
- The gate is opt-in, exact-head scoped, and fails closed on incomplete comment history.
- The serial evaluation chain prevents an older webhook snapshot from overwriting a newer status verdict.
Recommended Action
- Merge when the normal CI and required checks are green.
allyblockcast
left a comment
There was a problem hiding this comment.
Ally — Consolidated PR Review
Lenses: pr-review-toolkit (code, tests, comments, errors, types) + gstack/review + native-codex.
Reviewed head: 1d3174b
Critical Issues (0)
Important Issues (0)
Suggestions (0)
Strengths
- The gate is opt-in, exact-head scoped, and fails closed on incomplete comment history.
- The serial evaluation chain prevents an older webhook snapshot from overwriting a newer status verdict.
Recommended Action
- Merge when the normal CI and required checks are green.
Thinking Path
Linked Issues or Issue Description
Refs #1049 (the App-authored source PR; this independent successor does not mutate or close it).
The underlying issue is BLO-21907: comment-shaped Ally review findings are not represented in GitHub’s formal review decision, so an unresolved Critical or Important finding can otherwise have no merge-time enforcement.
What Changed
ally-review-detectionservice.prCommentReviewGateStatusContextconfiguration and Helm wiring; the default empty value performs no API calls or status writes.issue_comment.createdandpull_requestopened/reopened/synchronize payloads, independently of Paperclip identifier matching, so clean re-reviews can clear a prior failure.Verification
pnpm --dir server exec vitest run src/__tests__/pr-comment-review-gate.test.ts src/__tests__/pr-comment-review-gate-check.test.ts --reporter=verbose— 11 passed.pnpm --dir server exec vitest run src/__tests__/github-app-auth.test.ts --reporter=verbose— 46 passed.pnpm --dir server exec tsc --noEmit— passed.node --test deploy/helm/paperclip/tests/*.test.mjshad 32 passes and 12 failures in the pre-existingapproval-plan-markertests atkubectl create --dry-run=client; the identical 12 failures reproduce on cleanorigin/master.github-webhook.test.tsembedded-Postgres harness did not complete in this runner after its worker was orphaned; the temporary task-only processes were stopped. CI should run that full integration suite.Risks
Low-to-moderate operational risk. The feature is inert until an operator configures a status context and makes it required in GitHub branch protection. Webhook execution remains fire-and-forget, so a GitHub read/write failure cannot delay or fail the webhook acknowledgement; a subsequent relevant delivery retries evaluation. Exact full-head attestations prevent stale comments from blocking a replacement head, while an unambiguous trusted App identity prevents same-shaped contributor comments from controlling the gate.
Model Used
OpenAI GPT-5 (Codex agent), tool-assisted repository analysis, conflict resolution, and focused validation. The exact context-window size is not exposed to this session.
Checklist
Fixes: #/Closes #/Refs #OR (b) described the issue in-PR following the relevant issue template