fix(scm): re-land review-body fetch/mapping on main (recover stranded #3010)#3049
Merged
Merged
Conversation
Request the review `body` in the GitHub review-summary GraphQL selection and carry it through the SCM observation into the domain review rows, so the body column persisted in #3009 is actually populated. - add Body to ports.SCMReviewSummaryObservation - request body in the reviewSummaries GraphQL node and map it in scmReviewSummaryFromGraphQL - carry Body through domainFromObservation (observer) and claimRowsFromSCM (session claim path) Bounds are unchanged: still only the decisive submitted reviews capped by githubReviewSummaryLimit. Exposing the body through the session PR API is the next PR. Part of the reviews-tab revamp (#2433).
illegalcall
approved these changes
Jul 23, 2026
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
Re-lands #3010's provider review-body fetch/mapping onto
main. Addresses the [P1] on #3046: like #3011, #3010 (3da9fff85) was merged into its stacked base (feat/persist-pr-review-body), notmain— confirmed3da9fff85is not an ancestor ofmain, andSCMReviewSummaryObservationhas noBodyfield there.So even after #3046, the pipeline was broken end to end: the API copies
review.Bodyinto the response, but nothing populated it — real GitHub refreshes persistedBody == ""andomitemptydropped it from the response. Reviewer/verdict showed, the summary body did not. #3046's tests injectedBodyabove the missing fetch layer, so they didn't catch it (fair call by the reviewer).This cherry-picks
3da9fff85(the five-file fetch/mapping commit, including its provider test):bodyin the GitHub review-summary GraphQL and map it inscmReviewSummaryFromGraphQLBodytoports.SCMReviewSummaryObservationBodythroughdomainFromObservation(observer) andclaimRowsFromSCM(session claim)With this + #3009 (persist) + #3046 (expose) all on
main, the review-summary body flows end to end for the first time.Verification
3da9fff85cherry-picked cleanly onto currentmain(no conflicts)cd backend && go build ./...clean; gofmt cleango test ./internal/adapters/scm/github/ ./internal/observe/scm/ ./internal/service/session/pass — the github provider test asserts the query requestsbodyand maps it through, which is exactly the check the injected-Body fix(api): re-land review-summaries API on main (recover stranded #3011) #3046 tests lacked