Get what changed in a UI Verify build
get_buildTriage one build, resolved by commitSha, prNumber, or buildId (exactly one). Returns the gate verdict and counts (total/changed/failed/unchanged), then the FIRST page (25) of the changed stories (story id, viewport, % pixels changed, review decision, the AI verdict aiVerdict=intended|regression + aiConfidence, and for a regression the judge's one-line aiFlagReason=what-looks-unintended, when AI review is on) and the first page of failed stories (failedStories[].kind is render when the story produced no frame, or interaction when it rendered and its play() assertion threw; failedStories[].error is the message's first line, errorTruncated marks the ones that carried more). When AI review ran, aiReview tallies how many changes look like regressions vs intended, and the changed list is ordered likely-regressions-first. changedNextCursor / failedNextCursor are non-null when there are more than 25: page the rest with list_build_stories. counts.unchanged is how many stories did NOT change and have a baseline - this triage call does NOT list them (keeps the response lean); call list_build_stories status=unchanged to browse them (e.g. to confirm a passed build's stories are 'identical to baseline'). No image URLs here - call get_diff or render_diff_image for pixels.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| buildId | No | Resolve this exact build id. | |
| prNumber | No | Resolve the latest build for this PR number. | |
| commitSha | No | Resolve the build for this git commit SHA. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| branch | Yes | ||
| counts | Yes | ||
| status | Yes | ||
| buildId | Yes | ||
| aiReview | Yes | ||
| prNumber | Yes | ||
| commitSha | Yes | ||
| createdAt | Yes | ||
| gateStatus | Yes | ||
| failedStories | Yes | ||
| changedStories | Yes | ||
| failedNextCursor | Yes | ||
| autoAcceptChanges | Yes | ||
| changedNextCursor | Yes |