Publish full review reports when reviews complete - #131
Merged
Merged
Conversation
Preserve prior reports while reviews run, bind publication and verdict retries to exact report and commit identities, and retire superseded output only after completion. Co-authored-by: c1-squire-dev[bot] <c1-squire-dev[bot]@users.noreply.github.com>
Bind new publication to attempt chronology and fresh unconsumed working output; cover ambiguous POST recovery through the real HTTP retry loop. Co-authored-by: c1-squire-dev[bot] <c1-squire-dev[bot]@users.noreply.github.com>
gontzess
marked this pull request as ready for review
September 24, 2026 19:47
jugonzalez12
approved these changes
Sep 24, 2026
Exercise rebase and force-push fallbacks, real checkout guards, retained prior findings, and creation retry behavior without changing reviewer runtime logic. Co-authored-by: c1-squire-dev[bot] <c1-squire-dev[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The baseline policy is unchanged: blockers produce
REQUEST_CHANGES; zero blockers produce neutralCOMMENT, neverAPPROVE. Model/action versions, named-secret wiring, permissions and logging boundaries are unchanged.Publication safety
Publication is an ordered multi-request operation, not an atomic transaction. Reports remain pending until their required formal review exists. Same-attempt retries reconcile the exact report, reviewed commit and submitted result; they do not recreate deleted/dismissed historical reviews or retire a newer report. Ambiguous creation responses are reconciled after a single transport attempt rather than blindly retried. Completion retains the original reviewed snapshot. Older reportless attempts cannot reclaim output already consumed by a later completed review; actual attempt-start time, not numeric run IDs, determines obsolescence.
A formal review may already exist if the subsequent completion-marker update fails. The report remains pending, prior useful output remains, and a same-attempt retry can finish the transition. Cleanup failures are non-destructive warnings.
New comment/review creation provides normal GitHub activity; inbox/email delivery still depends on subscription settings.
Verification
REQUEST_CHANGES, and post-success collapse of the previous report and exact working comment.Retains the review-quality and prior-finding safeguards delivered in #129.
Rewritten-history regression follow-up
Real temporary Git histories and mocked GitHub comparison boundaries cover changed-base rebases, same-base squash/amend/force-push comparisons, unavailable prior commits, retained bot findings, and stale checkouts. The existing full-review fallback policy is unchanged. New controls were mutation-verified, including under an inherited
PR_HEAD_SHAto prevent a masked checkout test. Previously local transport response-loss tests are now included in the branch. No reviewer runtime logic changed in this follow-up.Current GitHub checks are self-review skips; the test counts above are local execution evidence, not claims that skipped checks ran tests.