Skip to main content
Glama

Server Details

UI Verify is visual regression testing built for coding agents. Connect the MCP server and your agent (Claude Code, Cursor, Codex) pulls a pull request's UI changes into the conversation, views each visual diff, reads the AI judge's verdict of regression vs intended change, and accepts the intended baselines - all over MCP.

Ownership verified
Status
Healthy
Uptime
99.9% over 65 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.3/5.0

Scored across 15 tools

Disambiguation4/5

Most tools have clearly distinct roles: get_build (triage), get_diff (per-story URL detail), render_diff_image (inline pixels), get_pr_changeset (PR vs base), and list_build_stories (pagination) are carefully differentiated in their descriptions. The main overlap is accept_build vs review_diff='accept', plus multiple tools returning changed-story lists, but the bulk/single distinction and pagination split are explicit enough to avoid misselection.

Naming Consistency4/5

All names are snake_case and follow a verb_noun pattern (get_build, list_projects, post_comment, delete_comment, update_comment, resolve_comment). Minor deviations exist: 'review_diff' is a nonstandard verb and 'render_diff_image' is a three-word noun chain, but overall the set is predictable and readable.

Tool Count5/5

15 tools sits at the upper edge of the ideal 3-15 range for a rich visual-regression workflow. Each tool maps to a distinct operation (project/build/story browsing, diff inspection, comment CRUD, bulk vs single review), and none appear redundant or filler.

Completeness4/5

The surface covers the full review lifecycle: browsing projects/builds/stories, inspecting diffs and inline images, commenting (create/read/update/delete/resolve), and accepting at both diff and build granularity, plus PR-level changesets including removals. Minor gaps: no way to trigger a build or create a project, though those may be intentionally out of scope (CI-driven).

Available Tools

15 tools
accept_buildAccept every changed story in a build
Destructive
Inspect

Accept ALL changed stories in one build at once (resolved by commitSha/prNumber/buildId), advancing each story's per-branch baseline so the next build is clean. This is the bulk form of review_diff='accept' — use it when you've decided the whole build's changes are intended. It accepts every changed story, including stories that already have a prior denied review; failed stories are unaffected. Returns the build triage after accepting (first page of changed stories, each now showing decision='accepted'; page the rest with list_build_stories if changedNextCursor is set). Refused, with nothing accepted, while any changed story has an unresolved review comment, including one a person left on an earlier build of the branch: the error names those stories; read them with list_comments, address each note, resolve_comment its thread, then accept again.

NameRequiredDescriptionDefault
buildIdNoResolve this exact build id.
prNumberNoResolve the latest build for this PR number.
commitShaNoResolve the build for this git commit SHA.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.

Output Schema

NameRequiredDescription
branchYes
countsYes
statusYes
blockedYesWhy a blocked build was paused and what to do next; null for any other build.
buildIdYes
aiReviewYes
commentsNoAbsent on UI Verify's demo project, whose review comments only its team sees.
prNumberYes
commitShaYes
createdAtYes
gateStatusYes
failedStoriesYes
changedStoriesYes
failedNextCursorYes
autoAcceptChangesYes
changedNextCursorYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
delete_commentDelete a comment
DestructiveIdempotent
Inspect

Soft-delete a comment (get its id from list_comments). An agent can delete only agent-authored comments, never a human's. Deleting a thread root removes its replies too.

NameRequiredDescriptionDefault
commentIdYesThe comment id to delete (from list_comments).

Output Schema

NameRequiredDescription
idYes
deletedYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
get_buildGet what changed in a UI Verify build
Read-onlyIdempotent
Inspect

Triage 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 story's own review-comment tally comments {total, unresolved}) 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'). comments is the build-wide review-comment tally {total, unresolved}: unresolved>0 means a designer/QA (or another agent) left an open note on a story - read it with list_comments BEFORE you accept. No image URLs here - call get_diff or render_diff_image for pixels. A blocked build carries blocked: relay its message (or, on the demo project, its headline and nextSteps) to your user; do not retry the build.

NameRequiredDescriptionDefault
buildIdNoResolve this exact build id.
prNumberNoResolve the latest build for this PR number.
commitShaNoResolve the build for this git commit SHA.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.

Output Schema

NameRequiredDescription
noteNoPresent when this is UI Verify's demo project rather than one of yours; says how to set up your own.
branchYes
countsYes
statusYes
blockedYesWhy a blocked build was paused and what to do next; null for any other build.
buildIdYes
aiReviewYes
commentsNoAbsent on UI Verify's demo project, whose review comments only its team sees.
prNumberYes
commitShaYes
createdAtYes
gateStatusYes
failedStoriesYes
changedStoriesYes
failedNextCursorYes
autoAcceptChangesYes
changedNextCursorYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
get_diffGet per-story diff detail with image URLs
Read-onlyIdempotent
Inspect

Per-story diff detail for a build (resolved by commitSha/prNumber/buildId). Returns diff metrics and presigned, time-limited URLs (download them to a file, or link them in a PR comment) for the baseline, candidate, and diff PNGs. Defaults to the changed stories; pass storyId for one specific story. When that storyId is an UNCHANGED story it returns its baseline (diffResultId null, changed false, the baseline URL as both baselineUrl and candidateUrl) - the story rendered identical to baseline. Use render_diff_image instead when you want the actual pixels inline for a vision model, not a URL. When AI review is on, each diff carries the judge's call: aiVerdict (intended|regression), aiConfidence, aiSummary (what changed), aiReasoning, and aiFlagReason; all null when AI review didn't run for it. Each diff also carries comments {total, unresolved} for THAT story - unresolved>0 means an open review note; read the thread with list_comments before accepting.

NameRequiredDescriptionDefault
buildIdNoResolve this exact build id.
storyIdNoLimit to one story id.
prNumberNoResolve the latest build for this PR number.
commitShaNoResolve the build for this git commit SHA.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.

Output Schema

NameRequiredDescription
noteNoPresent when this is UI Verify's demo project rather than one of yours; says how to set up your own.
diffsYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
get_pr_changesetGet what this PR does to the UI vs its base branch
Read-onlyIdempotent
Inspect

The cumulative 'this PR vs base' visual changeset (resolved by commitSha/prNumber/buildId) - what the whole PR does to the UI versus the branch it merges into, INDEPENDENT of what is left to review on the latest build. Unlike get_build (this commit vs the branch's own accepted baseline), this survives in-PR accepts: a story accepted mid-PR still shows under changed with status=accepted, so it answers 'what did this PR change' even after the gate reads clean. Returns base (the branch it merges into), counts {new,changed,removed,unchanged}, and the first page of new + changed + removed stories (storyId, title, name, kind, review status, aiVerdict). removed lists stories that HAD a baseline on the base branch but are gone from this PR's head (a deletion - otherwise invisible; each carries lastBuildId, the build that rendered its now-orphaned baseline). newNextCursor / changedNextCursor / removedNextCursor page the rest with list_pr_stories. No image URLs - fetch pixels by storyId with get_diff / render_diff_image.

NameRequiredDescriptionDefault
buildIdNoResolve this exact build id.
prNumberNoResolve the latest build for this PR number.
commitShaNoResolve the build for this git commit SHA.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.

Output Schema

NameRequiredDescription
newYes
baseYes
noteNoPresent when this is UI Verify's demo project rather than one of yours; says how to set up your own.
countsYes
changedYes
removedYes
newNextCursorYes
changedNextCursorYes
removedNextCursorYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
list_buildsList recent UI Verify builds
Read-onlyIdempotent
Inspect

Recent UI Verify builds for one project, newest first. Each row is a one-line verdict (gateStatus: passed | changed | failed) for a commit/PR — use it to find the build to inspect. No image URLs or per-story detail here: call get_build for the changed-story list, get_diff for images. A blocked build carries blocked: relay its message (or, on the demo project, its headline and nextSteps) to your user; do not retry the build.

NameRequiredDescriptionDefault
limitNoMax builds to return (default 20).
branchNoOnly builds on this git branch.
statusNoOnly builds with this raw status.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.

Output Schema

NameRequiredDescription
noteNoPresent when this is UI Verify's demo project rather than one of yours; says how to set up your own.
buildsYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
list_build_storiesPage through a build's stories by status
Read-onlyIdempotent
Inspect

Page through one build's stories filtered by status (resolved by commitSha/prNumber/buildId). Use it to read past get_build's first page, or to browse the unchanged/passed stories get_build only counts. status='changed' returns changed stories (same shape + order as get_build, regression-first, each with its comments {total, unresolved}; unresolved>0 means an open review note - read it with list_comments first); status='failed' returns failed stories; status='unchanged' returns the stories that did NOT change this build but have a baseline on this branch (storyId, viewport, browser) - fetch any of their images by storyId with get_diff or render_diff_image to confirm 'identical to baseline'. Returns { stories, nextCursor }: pass nextCursor back as cursor for the next page; null means no more. limit defaults to 25 (max 100). Unchanged is only available once the build has settled (an in-progress build has rendered nothing, so it returns an empty page).

NameRequiredDescriptionDefault
limitNoPage size (default 25, max 100).
cursorNoThe nextCursor from a prior page; omit for the first page.
statusYesWhich stories to page: changed, failed, or unchanged (baselined, didn't change this build).
buildIdNoResolve this exact build id.
prNumberNoResolve the latest build for this PR number.
commitShaNoResolve the build for this git commit SHA.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.

Output Schema

NameRequiredDescription
noteNoPresent when this is UI Verify's demo project rather than one of yours; says how to set up your own.
storiesYes
nextCursorYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
list_commentsList the review comments on a build's diffs or on a branch
Read-onlyIdempotent
Inspect

Review comments left on screens, each carrying its diffResultId, buildId/buildNumber and story (storyId, viewport, browser), author (human name or 'agent'), body, createdAt, and anchor - where on the candidate image it points: null (whole diff), {type:'point',x,y}, {type:'rect',x,y,w,h}, or {type:'path',points,closed}, all normalized 0..1 to the candidate image. Two ways to ask. By build (commitSha/prNumber/buildId): that build's own comments plus the open comments left on earlier builds of its branch (carried: true), because an open comment stays with its branch until someone resolves it. By branch: every open comment on that branch, whatever build it was left on. When you start or resume work on a git branch, call this with that branch (and projectId when you can reach several projects) and address each open comment from a person before you continue. A comment you left for the reviewer is omitted until a person replies in its thread; includeAgentNotes adds those.

NameRequiredDescriptionDefault
branchNoRead every open comment on this git branch instead of resolving a build.
buildIdNoResolve this exact build id.
prNumberNoResolve the latest build for this PR number.
commitShaNoResolve the build for this git commit SHA.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.
includeAgentNotesNoWith branch: also include open comments you (an agent) left that no person has replied to.

Output Schema

NameRequiredDescription
commentsYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
list_projectsList the UI Verify projects you can access
Read-onlyIdempotent
Inspect

Every UI Verify project you can access, across all the teams you are a member of, most recently built first. Each row carries the projectId to pass to list_builds, or to a commitSha/prNumber lookup, when you can access several projects, plus the team and project slugs, name, type (storybook | playwright | vitest | bun | screenshot), repo, and lastBuildAt. Calls that take a buildId, diffResultId, or commentId never need a projectId. When you aren't in any project yet, it lists UI Verify's demo project instead (demo: true): every read tool works on it, so you can show what UI Verify does on a real build, but nothing can be accepted or commented there. Every response about the demo carries a note saying so. When the list is empty, note says how to get a first project.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
noteNoWhat to do next, present when you aren't in any project yet (the list is empty or the demo).
projectsYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
list_pr_storiesPage through the PR-vs-base changeset by kind
Read-onlyIdempotent
Inspect

Page through the PR-vs-base changeset stories of one kind (resolved by commitSha/prNumber/buildId) - use it to read past get_pr_changeset's first page. kind='new' returns stories the PR adds that the base branch has no baseline for; kind='changed' returns stories whose image differs from the base branch's accepted image (even if accepted mid-PR, with status=accepted); kind='removed' returns stories that HAD a baseline on the base branch but are gone from head (a deletion; each carries lastBuildId, not a review status or verdict). Returns { stories, nextCursor }: pass nextCursor back as cursor for the next page; null means no more. limit defaults to 25 (max 100).

NameRequiredDescriptionDefault
kindYesWhich changeset stories to page: new (added), changed (vs base), or removed (deleted).
limitNoPage size (default 25, max 100).
cursorNoThe nextCursor from a prior page; omit for the first page.
buildIdNoResolve this exact build id.
prNumberNoResolve the latest build for this PR number.
commitShaNoResolve the build for this git commit SHA.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.

Output Schema

NameRequiredDescription
noteNoPresent when this is UI Verify's demo project rather than one of yours; says how to set up your own.
storiesYes
nextCursorYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
post_commentComment on a build's diffInspect

Leave a review comment on one of a build's changed-story diffs (resolve the build by commitSha/prNumber/buildId, target the diff by diffResultId from get_build/get_diff). The comment is authored as the agent. Optionally anchor it to a spot on the candidate image with anchor: omit or null for a whole-diff comment, {type:'point',x,y} to pin a point, {type:'rect',x,y,w,h} for a box, or {type:'path',points:[{x,y},...],closed} for a shape - all coordinates 0..1 normalized to the candidate image. side picks the pane ('after' the candidate, default; 'before' the baseline). Pass parentId (a root comment id from list_comments) to REPLY in that thread instead - a reply inherits the root's side and carries no anchor, so anchor/side are ignored. A new root comment is refused when a newer build exists on the branch (comment on the latest build); replies stay allowed. Reference: https://uiverify.ai/docs/mcp-tools

NameRequiredDescriptionDefault
bodyYesThe comment text.
sideNoWhich pane: 'after' (candidate, default) or 'before' (baseline). Ignored on a reply.
anchorNoWhere on the candidate image to pin it (0..1 normalized): omit/null = whole diff; {type:'point',x,y}; {type:'rect',x,y,w,h}; {type:'path',points,closed}. Ignored on a reply.
buildIdNoResolve this exact build id.
parentIdNoReply to this thread ROOT comment's id (from list_comments) instead of starting a new thread.
prNumberNoResolve the latest build for this PR number.
commitShaNoResolve the build for this git commit SHA.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.
diffResultIdYesThe diff result to comment on (from get_build/get_diff).

Output Schema

NameRequiredDescription
idYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
render_diff_imageFetch the actual pixels of a story imageA
Read-onlyIdempotent
Inspect

Fetch a story's image as an INLINE image (base64 pixels, not a URL) so a vision model can look at it directly. Needs a native MCP client that renders image content; piped through raw curl it is useless (use get_diff's URLs there instead). Two ways to address it: (1) diffResultId + which for a CHANGED story - which is baseline|candidate|diff (the triptych) or before_after, the baseline and candidate SIDE BY SIDE (before on the left, after on the right) cropped to the changed region - and when a story changed in SEVERAL far-apart places, one such crop PER region stacked top to bottom, so a header-plus-footer change is two tight crops, not a page-tall image. before_after is usually what you want for a code change - it zooms to what moved instead of a full page. Get diffResultId from get_build (changedStories[].diffResultId) or get_diff. (2) a build selector (commitSha|prNumber|buildId) + storyId for ANY story's current image - the candidate if it changed this build, else its baseline. This second form is the only way to see an UNCHANGED/passed story's pixels (list them via list_build_stories status=unchanged), so you can confirm 'identical to baseline'. Errors if the image doesn't exist (a genuinely new story has no baseline, so no before_after either). When the story has unresolved review comments, a text note saying so comes with the image: read them with list_comments before you accept.

NameRequiredDescriptionDefault
whichNoFor the diffResultId form: baseline|candidate|diff (one triptych image, default candidate), or before_after (baseline+candidate side by side, cropped to the change - one crop per changed region, stacked, when the change spans several places). Ignored for the storyId form.
buildIdNoResolve this exact build id.
storyIdNoWith a build selector: fetch THIS story's current image (works for unchanged stories).
prNumberNoResolve the latest build for this PR number.
commitShaNoResolve the build for this git commit SHA.
projectIdNoThe project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.
diffResultIdNoA CHANGED story's diff result id (from get_build/get_diff); pair with `which`.
pxPaginationNoPaginate a TALL image slice by slice instead of one unreadable image: return the `height` device px starting at y=`offset`, so a 5000px page is reviewed in readable slices. Omit for the whole image. Ignored for the before_after form (already cropped to the change).

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the read-only/idempotent safety profile, and the description adds real operational context: it returns inline base64 requiring a rendering MCP client, it errors when no image exists (new stories have no baseline), and unresolved review comments attach a text note pointing at list_comments. None of this is derivable from the annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the single most important fact (inline pixels, not a URL) before any schema talk, and essentially every sentence carries actionable information. The cost is a dense run-on paragraph with heavy capitalization that is harder to scan than a bulleted form, though there is no true filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with a nested pagination object and no output schema, the description covers both addressing modes, pagination rationale, error conditions, and the review-comment side effect. An agent has enough to select and invoke it without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes further by explaining cross-parameter semantics the schema cannot - that `which` is ignored for the storyId form, that pxPagination is ignored for before_after, and that projectId is only needed with multiple projects. It adds addressing-mode context rather than restating field docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource plus the exact return format: an inline base64 image, explicitly 'not a URL'. It distinguishes itself from sibling get_diff (whose URLs are the fallback in constrained clients) and from get_build/list_build_stories as sources of the ids it consumes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use branching: form (1) diffResultId+which for changed stories, form (2) build selector+storyId for any story including unchanged ones, and calls out before_after as 'usually what you want for a code change'. It also names when-not (raw curl pipe is useless) and the alternative (get_diff's URLs).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_commentResolve or reopen a comment thread
Idempotent
Inspect

Mark a comment thread resolved or reopen it (get the id from list_comments). Resolving stamps the thread ROOT, so pass a root comment's id - a reply id is a no-op. Any team writer may toggle this. A resolved comment stops showing on every build of its branch, and in every response's openReviewComments pointer.

NameRequiredDescriptionDefault
resolvedYestrue to resolve the thread, false to reopen it.
commentIdYesThe thread root comment id (from list_comments).

Output Schema

NameRequiredDescription
idYes
resolvedYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
review_diffAccept, deny, or ignore one story's change
Destructive
Inspect

Record a review on a single diff result (get diffResultId from get_build/get_diff). 'accept' makes the candidate the new baseline for that story on its branch, so the next build is clean; 'deny' records the rejection without changing the baseline; 'ignore' excludes the story from the gate persistently (the snapshot keeps differing on future builds but no longer flags the check) — use it for an intentional, ongoing diff like an animation or a live timestamp. This is the same accept/deny/ignore as the dashboard, attributed to the agent (and to you, when you logged in). Use after you've inspected the diff (e.g. with render_diff_image) and decided intended vs. regression. accept and ignore are refused while the story has an unresolved review comment, including one left on an earlier build of the branch (read it with list_comments, address it, resolve_comment the thread, then retry); deny is always allowed.

NameRequiredDescriptionDefault
decisionYes'accept' advances the baseline; 'deny' records a rejection; 'ignore' excludes the story from the gate.
diffResultIdYesThe diff result id from get_build or get_diff.

Output Schema

NameRequiredDescription
decisionYes
diffResultIdYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.
update_commentEdit a comment's text
DestructiveIdempotent
Inspect

Replace the body of a comment (get its id from list_comments). An agent can edit only agent-authored comments, never a human's. Reference: https://uiverify.ai/docs/mcp-tools

NameRequiredDescriptionDefault
bodyYesThe new comment text.
commentIdYesThe comment id to edit (from list_comments).

Output Schema

NameRequiredDescription
idYes
openReviewCommentsNoPresent when open review comments are waiting on some branch of this project; read yours with list_comments.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 14 tool updates
    • Changedaccept_build1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changeddelete_comment1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedget_build1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedget_diff1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedget_pr_changeset1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_build_stories2 fields changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / stories / items / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "aiClassification": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiConfidence": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiFlagReason": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiIntroducedBy": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiSummary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiVerdict": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser": {
        -        "type": "string"
        -      },
        -      "changedPct": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "comments": {
        -        "additionalProperties": false,
        -        "description": "Absent on UI Verify's demo project, whose review comments only its team sees.",
        -        "properties": {
        -          "total": {
        -            "type": "number"
        -          },
        -          "unresolved": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "total",
        -          "unresolved"
        -        ],
        -        "type": "object"
        -      },
        -      "decision": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "diffResultId": {
        -        "format": "uuid",
        -        "type": "string"
        -      },
        -      "isNew": {
        -        "type": "boolean"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "storyId": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "unstable": {
        -        "type": "boolean"
        -      },
        -      "viewport": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "diffResultId",
        -      "storyId",
        -      "title",
        -      "name",
        -      "viewport",
        -      "browser",
        -      "changedPct",
        -      "decision",
        -      "isNew",
        -      "unstable",
        -      "aiVerdict",
        -      "aiClassification",
        -      "aiIntroducedBy",
        -      "aiConfidence",
        -      "aiSummary",
        -      "aiFlagReason"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "browser": {
        -        "type": "string"
        -      },
        -      "error": {
        -        "type": "string"
        -      },
        -      "errorTruncated": {
        -        "type": "boolean"
        -      },
        -      "kind": {
        -        "enum": [
        -          "render",
        -          "interaction"
        -        ],
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "storyId": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "viewport": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "storyId",
        -      "title",
        -      "name",
        -      "viewport",
        -      "browser",
        -      "error",
        -      "errorTruncated",
        -      "kind"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "browser": {
        -        "type": "string"
        -      },
        -      "storyId": {
        -        "type": "string"
        -      },
        -      "viewport": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "storyId",
        -      "viewport",
        -      "browser"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "aiClassification": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiConfidence": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiFlagReason": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiIntroducedBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiSummary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiVerdict": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser": {
        +        "type": "string"
        +      },
        +      "changedPct": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "comments": {
        +        "additionalProperties": false,
        +        "description": "Absent on UI Verify's demo project, whose review comments only its team sees.",
        +        "properties": {
        +          "total": {
        +            "type": "number"
        +          },
        +          "unresolved": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "unresolved"
        +        ],
        +        "type": "object"
        +      },
        +      "decision": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "diffResultId": {
        +        "format": "uuid",
        +        "type": "string"
        +      },
        +      "isNew": {
        +        "type": "boolean"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "storyId": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "unstable": {
        +        "type": "boolean"
        +      },
        +      "viewport": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "diffResultId",
        +      "storyId",
        +      "title",
        +      "name",
        +      "viewport",
        +      "browser",
        +      "changedPct",
        +      "decision",
        +      "isNew",
        +      "unstable",
        +      "aiVerdict",
        +      "aiClassification",
        +      "aiIntroducedBy",
        +      "aiConfidence",
        +      "aiSummary",
        +      "aiFlagReason"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "browser": {
        +        "type": "string"
        +      },
        +      "error": {
        +        "type": "string"
        +      },
        +      "errorTruncated": {
        +        "type": "boolean"
        +      },
        +      "kind": {
        +        "enum": [
        +          "render",
        +          "interaction"
        +        ],
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "storyId": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "viewport": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "storyId",
        +      "title",
        +      "name",
        +      "viewport",
        +      "browser",
        +      "error",
        +      "errorTruncated",
        +      "kind"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "browser": {
        +        "type": "string"
        +      },
        +      "comments": {
        +        "additionalProperties": false,
        +        "description": "Absent on UI Verify's demo project, whose review comments only its team sees.",
        +        "properties": {
        +          "total": {
        +            "type": "number"
        +          },
        +          "unresolved": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "unresolved"
        +        ],
        +        "type": "object"
        +      },
        +      "storyId": {
        +        "type": "string"
        +      },
        +      "viewport": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "storyId",
        +      "viewport",
        +      "browser"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedlist_builds1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_comments10 fields changed
      • addedInput schema / properties / branch
        Added value: +{
        +  "description": "Read every open comment on this git branch instead of resolving a build.",
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / includeAgentNotes
        Added value: +{
        +  "description": "With branch: also include open comments you (an agent) left that no person has replied to.",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / comments / items / properties / browser
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / comments / items / properties / buildId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / comments / items / properties / buildNumber
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / comments / items / properties / carried
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / comments / items / properties / storyId
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / comments / items / properties / viewport
        Added value: +{
        +  "type": "string"
        +}
      • changedOutput schema / properties / comments / items / required
        Previous value: -[
        -  "diffResultId",
        -  "id",
        -  "authorType",
        -  "authorName",
        -  "side",
        -  "parentId",
        -  "anchor",
        -  "body",
        -  "createdAt",
        -  "resolved"
        -]New value: +[
        +  "diffResultId",
        +  "id",
        +  "authorType",
        +  "authorName",
        +  "side",
        +  "parentId",
        +  "anchor",
        +  "body",
        +  "createdAt",
        +  "resolved",
        +  "buildId",
        +  "buildNumber",
        +  "storyId",
        +  "viewport",
        +  "browser",
        +  "carried"
        +]
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_pr_stories1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_projects1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedpost_comment1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedresolve_comment1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedreview_diff1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
    • Changedupdate_comment1 field changed
      • addedOutput schema / properties / openReviewComments
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present when open review comments are waiting on some branch of this project; read yours with list_comments.",
        +  "properties": {
        +    "branches": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "branch": {
        +            "type": "string"
        +          },
        +          "lastActivityAt": {
        +            "type": "string"
        +          },
        +          "open": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "branch",
        +          "open",
        +          "lastActivityAt"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "branchesTotal": {
        +      "type": "number"
        +    },
        +    "hint": {
        +      "type": "string"
        +    },
        +    "projectId": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "branches",
        +    "branchesTotal",
        +    "projectId",
        +    "hint"
        +  ],
        +  "type": "object"
        +}
  2. 3 tool updates
    • Changedaccept_build2 fields changed
      • addedOutput schema / properties / blocked
        Added value: +{
        +  "anyOf": [
        +    {
        +      "anyOf": [
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "headline": {
        +              "type": "string"
        +            },
        +            "hints": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "no-default-branch-baseline",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "kind": {
        +                        "const": "build-exceeds-allowance",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "limit": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "message": {
        +              "type": "string"
        +            },
        +            "nextSteps": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "run-default-branch",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch",
        +                      "text"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "callUrl": {
        +                        "type": "string"
        +                      },
        +                      "email": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "contact",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "text",
        +                      "email",
        +                      "callUrl"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "reason": {
        +              "enum": [
        +                "allowance",
        +                "billing",
        +                "unknown"
        +              ],
        +              "type": "string"
        +            },
        +            "requested": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "resetsAt": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "resetsOn": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "statusLine": {
        +              "type": "string"
        +            },
        +            "used": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "reason",
        +            "headline",
        +            "hints",
        +            "nextSteps",
        +            "statusLine",
        +            "used",
        +            "limit",
        +            "requested",
        +            "resetsAt",
        +            "resetsOn",
        +            "message"
        +          ],
        +          "type": "object"
        +        },
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "headline": {
        +              "type": "string"
        +            },
        +            "hints": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "no-default-branch-baseline",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "kind": {
        +                        "const": "build-exceeds-allowance",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "nextSteps": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "run-default-branch",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch",
        +                      "text"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "callUrl": {
        +                        "type": "string"
        +                      },
        +                      "email": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "contact",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "text",
        +                      "email",
        +                      "callUrl"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "reason": {
        +              "enum": [
        +                "allowance",
        +                "billing",
        +                "unknown"
        +              ],
        +              "type": "string"
        +            },
        +            "statusLine": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "reason",
        +            "headline",
        +            "hints",
        +            "nextSteps",
        +            "statusLine"
        +          ],
        +          "type": "object"
        +        }
        +      ]
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Why a blocked build was paused and what to do next; null for any other build."
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "buildId",
        -  "commitSha",
        -  "branch",
        -  "prNumber",
        -  "status",
        -  "gateStatus",
        -  "autoAcceptChanges",
        -  "createdAt",
        -  "counts",
        -  "aiReview",
        -  "changedStories",
        -  "changedNextCursor",
        -  "failedStories",
        -  "failedNextCursor"
        -]New value: +[
        +  "buildId",
        +  "commitSha",
        +  "branch",
        +  "prNumber",
        +  "status",
        +  "gateStatus",
        +  "autoAcceptChanges",
        +  "createdAt",
        +  "blocked",
        +  "counts",
        +  "aiReview",
        +  "changedStories",
        +  "changedNextCursor",
        +  "failedStories",
        +  "failedNextCursor"
        +]
    • Changedget_build2 fields changed
      • addedOutput schema / properties / blocked
        Added value: +{
        +  "anyOf": [
        +    {
        +      "anyOf": [
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "headline": {
        +              "type": "string"
        +            },
        +            "hints": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "no-default-branch-baseline",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "kind": {
        +                        "const": "build-exceeds-allowance",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "limit": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "message": {
        +              "type": "string"
        +            },
        +            "nextSteps": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "run-default-branch",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch",
        +                      "text"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "callUrl": {
        +                        "type": "string"
        +                      },
        +                      "email": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "contact",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "text",
        +                      "email",
        +                      "callUrl"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "reason": {
        +              "enum": [
        +                "allowance",
        +                "billing",
        +                "unknown"
        +              ],
        +              "type": "string"
        +            },
        +            "requested": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "resetsAt": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "resetsOn": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "statusLine": {
        +              "type": "string"
        +            },
        +            "used": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "reason",
        +            "headline",
        +            "hints",
        +            "nextSteps",
        +            "statusLine",
        +            "used",
        +            "limit",
        +            "requested",
        +            "resetsAt",
        +            "resetsOn",
        +            "message"
        +          ],
        +          "type": "object"
        +        },
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "headline": {
        +              "type": "string"
        +            },
        +            "hints": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "no-default-branch-baseline",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "kind": {
        +                        "const": "build-exceeds-allowance",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "nextSteps": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "run-default-branch",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch",
        +                      "text"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "callUrl": {
        +                        "type": "string"
        +                      },
        +                      "email": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "contact",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "text",
        +                      "email",
        +                      "callUrl"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "reason": {
        +              "enum": [
        +                "allowance",
        +                "billing",
        +                "unknown"
        +              ],
        +              "type": "string"
        +            },
        +            "statusLine": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "reason",
        +            "headline",
        +            "hints",
        +            "nextSteps",
        +            "statusLine"
        +          ],
        +          "type": "object"
        +        }
        +      ]
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Why a blocked build was paused and what to do next; null for any other build."
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "buildId",
        -  "commitSha",
        -  "branch",
        -  "prNumber",
        -  "status",
        -  "gateStatus",
        -  "autoAcceptChanges",
        -  "createdAt",
        -  "counts",
        -  "aiReview",
        -  "changedStories",
        -  "changedNextCursor",
        -  "failedStories",
        -  "failedNextCursor"
        -]New value: +[
        +  "buildId",
        +  "commitSha",
        +  "branch",
        +  "prNumber",
        +  "status",
        +  "gateStatus",
        +  "autoAcceptChanges",
        +  "createdAt",
        +  "blocked",
        +  "counts",
        +  "aiReview",
        +  "changedStories",
        +  "changedNextCursor",
        +  "failedStories",
        +  "failedNextCursor"
        +]
    • Changedlist_builds2 fields changed
      • addedOutput schema / properties / builds / items / properties / blocked
        Added value: +{
        +  "anyOf": [
        +    {
        +      "anyOf": [
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "headline": {
        +              "type": "string"
        +            },
        +            "hints": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "no-default-branch-baseline",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "kind": {
        +                        "const": "build-exceeds-allowance",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "limit": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "message": {
        +              "type": "string"
        +            },
        +            "nextSteps": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "run-default-branch",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch",
        +                      "text"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "callUrl": {
        +                        "type": "string"
        +                      },
        +                      "email": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "contact",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "text",
        +                      "email",
        +                      "callUrl"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "reason": {
        +              "enum": [
        +                "allowance",
        +                "billing",
        +                "unknown"
        +              ],
        +              "type": "string"
        +            },
        +            "requested": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            },
        +            "resetsAt": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "resetsOn": {
        +              "type": [
        +                "string",
        +                "null"
        +              ]
        +            },
        +            "statusLine": {
        +              "type": "string"
        +            },
        +            "used": {
        +              "type": [
        +                "number",
        +                "null"
        +              ]
        +            }
        +          },
        +          "required": [
        +            "reason",
        +            "headline",
        +            "hints",
        +            "nextSteps",
        +            "statusLine",
        +            "used",
        +            "limit",
        +            "requested",
        +            "resetsAt",
        +            "resetsOn",
        +            "message"
        +          ],
        +          "type": "object"
        +        },
        +        {
        +          "additionalProperties": false,
        +          "properties": {
        +            "headline": {
        +              "type": "string"
        +            },
        +            "hints": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "no-default-branch-baseline",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "kind": {
        +                        "const": "build-exceeds-allowance",
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "nextSteps": {
        +              "items": {
        +                "anyOf": [
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "branch": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "run-default-branch",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "branch",
        +                      "text"
        +                    ],
        +                    "type": "object"
        +                  },
        +                  {
        +                    "additionalProperties": false,
        +                    "properties": {
        +                      "callUrl": {
        +                        "type": "string"
        +                      },
        +                      "email": {
        +                        "type": "string"
        +                      },
        +                      "kind": {
        +                        "const": "contact",
        +                        "type": "string"
        +                      },
        +                      "text": {
        +                        "type": "string"
        +                      }
        +                    },
        +                    "required": [
        +                      "kind",
        +                      "text",
        +                      "email",
        +                      "callUrl"
        +                    ],
        +                    "type": "object"
        +                  }
        +                ]
        +              },
        +              "type": "array"
        +            },
        +            "reason": {
        +              "enum": [
        +                "allowance",
        +                "billing",
        +                "unknown"
        +              ],
        +              "type": "string"
        +            },
        +            "statusLine": {
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "reason",
        +            "headline",
        +            "hints",
        +            "nextSteps",
        +            "statusLine"
        +          ],
        +          "type": "object"
        +        }
        +      ]
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "Why a blocked build was paused and what to do next; null for any other build."
        +}
      • changedOutput schema / properties / builds / items / required
        Previous value: -[
        -  "buildId",
        -  "commitSha",
        -  "branch",
        -  "prNumber",
        -  "status",
        -  "gateStatus",
        -  "autoAcceptChanges",
        -  "createdAt"
        -]New value: +[
        +  "buildId",
        +  "commitSha",
        +  "branch",
        +  "prNumber",
        +  "status",
        +  "gateStatus",
        +  "autoAcceptChanges",
        +  "createdAt",
        +  "blocked"
        +]
  3. 8 tool updates
    • Changedaccept_build4 fields changed
      • addedOutput schema / properties / changedStories / items / properties / comments / description
        Added value: +"Absent on UI Verify's demo project, whose review comments only its team sees."
      • changedOutput schema / properties / changedStories / items / required
        Previous value: -[
        -  "diffResultId",
        -  "storyId",
        -  "title",
        -  "name",
        -  "viewport",
        -  "browser",
        -  "changedPct",
        -  "decision",
        -  "isNew",
        -  "unstable",
        -  "aiVerdict",
        -  "aiClassification",
        -  "aiIntroducedBy",
        -  "aiConfidence",
        -  "aiSummary",
        -  "aiFlagReason",
        -  "comments"
        -]New value: +[
        +  "diffResultId",
        +  "storyId",
        +  "title",
        +  "name",
        +  "viewport",
        +  "browser",
        +  "changedPct",
        +  "decision",
        +  "isNew",
        +  "unstable",
        +  "aiVerdict",
        +  "aiClassification",
        +  "aiIntroducedBy",
        +  "aiConfidence",
        +  "aiSummary",
        +  "aiFlagReason"
        +]
      • addedOutput schema / properties / comments / description
        Added value: +"Absent on UI Verify's demo project, whose review comments only its team sees."
      • changedOutput schema / required
        Previous value: -[
        -  "buildId",
        -  "commitSha",
        -  "branch",
        -  "prNumber",
        -  "status",
        -  "gateStatus",
        -  "autoAcceptChanges",
        -  "createdAt",
        -  "counts",
        -  "comments",
        -  "aiReview",
        -  "changedStories",
        -  "changedNextCursor",
        -  "failedStories",
        -  "failedNextCursor"
        -]New value: +[
        +  "buildId",
        +  "commitSha",
        +  "branch",
        +  "prNumber",
        +  "status",
        +  "gateStatus",
        +  "autoAcceptChanges",
        +  "createdAt",
        +  "counts",
        +  "aiReview",
        +  "changedStories",
        +  "changedNextCursor",
        +  "failedStories",
        +  "failedNextCursor"
        +]
    • Changedget_build5 fields changed
      • addedOutput schema / properties / changedStories / items / properties / comments / description
        Added value: +"Absent on UI Verify's demo project, whose review comments only its team sees."
      • changedOutput schema / properties / changedStories / items / required
        Previous value: -[
        -  "diffResultId",
        -  "storyId",
        -  "title",
        -  "name",
        -  "viewport",
        -  "browser",
        -  "changedPct",
        -  "decision",
        -  "isNew",
        -  "unstable",
        -  "aiVerdict",
        -  "aiClassification",
        -  "aiIntroducedBy",
        -  "aiConfidence",
        -  "aiSummary",
        -  "aiFlagReason",
        -  "comments"
        -]New value: +[
        +  "diffResultId",
        +  "storyId",
        +  "title",
        +  "name",
        +  "viewport",
        +  "browser",
        +  "changedPct",
        +  "decision",
        +  "isNew",
        +  "unstable",
        +  "aiVerdict",
        +  "aiClassification",
        +  "aiIntroducedBy",
        +  "aiConfidence",
        +  "aiSummary",
        +  "aiFlagReason"
        +]
      • addedOutput schema / properties / comments / description
        Added value: +"Absent on UI Verify's demo project, whose review comments only its team sees."
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "Present when this is UI Verify's demo project rather than one of yours; says how to set up your own.",
        +  "type": "string"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "buildId",
        -  "commitSha",
        -  "branch",
        -  "prNumber",
        -  "status",
        -  "gateStatus",
        -  "autoAcceptChanges",
        -  "createdAt",
        -  "counts",
        -  "comments",
        -  "aiReview",
        -  "changedStories",
        -  "changedNextCursor",
        -  "failedStories",
        -  "failedNextCursor"
        -]New value: +[
        +  "buildId",
        +  "commitSha",
        +  "branch",
        +  "prNumber",
        +  "status",
        +  "gateStatus",
        +  "autoAcceptChanges",
        +  "createdAt",
        +  "counts",
        +  "aiReview",
        +  "changedStories",
        +  "changedNextCursor",
        +  "failedStories",
        +  "failedNextCursor"
        +]
    • Changedget_diff3 fields changed
      • addedOutput schema / properties / diffs / items / properties / comments / description
        Added value: +"Absent on UI Verify's demo project, whose review comments only its team sees."
      • changedOutput schema / properties / diffs / items / required
        Previous value: -[
        -  "diffResultId",
        -  "storyId",
        -  "viewport",
        -  "browser",
        -  "changed",
        -  "decision",
        -  "metrics",
        -  "baselineUrl",
        -  "candidateUrl",
        -  "diffUrl",
        -  "aiSummary",
        -  "aiVerdict",
        -  "aiConfidence",
        -  "aiReasoning",
        -  "aiFlagReason",
        -  "comments"
        -]New value: +[
        +  "diffResultId",
        +  "storyId",
        +  "viewport",
        +  "browser",
        +  "changed",
        +  "decision",
        +  "metrics",
        +  "baselineUrl",
        +  "candidateUrl",
        +  "diffUrl",
        +  "aiSummary",
        +  "aiVerdict",
        +  "aiConfidence",
        +  "aiReasoning",
        +  "aiFlagReason"
        +]
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "Present when this is UI Verify's demo project rather than one of yours; says how to set up your own.",
        +  "type": "string"
        +}
    • Changedget_pr_changeset1 field changed
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "Present when this is UI Verify's demo project rather than one of yours; says how to set up your own.",
        +  "type": "string"
        +}
    • Changedlist_build_stories2 fields changed
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "Present when this is UI Verify's demo project rather than one of yours; says how to set up your own.",
        +  "type": "string"
        +}
      • changedOutput schema / properties / stories / items / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "aiClassification": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiConfidence": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiFlagReason": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiIntroducedBy": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiSummary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiVerdict": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser": {
        -        "type": "string"
        -      },
        -      "changedPct": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "comments": {
        -        "additionalProperties": false,
        -        "properties": {
        -          "total": {
        -            "type": "number"
        -          },
        -          "unresolved": {
        -            "type": "number"
        -          }
        -        },
        -        "required": [
        -          "total",
        -          "unresolved"
        -        ],
        -        "type": "object"
        -      },
        -      "decision": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "diffResultId": {
        -        "format": "uuid",
        -        "type": "string"
        -      },
        -      "isNew": {
        -        "type": "boolean"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "storyId": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "unstable": {
        -        "type": "boolean"
        -      },
        -      "viewport": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "diffResultId",
        -      "storyId",
        -      "title",
        -      "name",
        -      "viewport",
        -      "browser",
        -      "changedPct",
        -      "decision",
        -      "isNew",
        -      "unstable",
        -      "aiVerdict",
        -      "aiClassification",
        -      "aiIntroducedBy",
        -      "aiConfidence",
        -      "aiSummary",
        -      "aiFlagReason",
        -      "comments"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "browser": {
        -        "type": "string"
        -      },
        -      "error": {
        -        "type": "string"
        -      },
        -      "errorTruncated": {
        -        "type": "boolean"
        -      },
        -      "kind": {
        -        "enum": [
        -          "render",
        -          "interaction"
        -        ],
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "storyId": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "viewport": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "storyId",
        -      "title",
        -      "name",
        -      "viewport",
        -      "browser",
        -      "error",
        -      "errorTruncated",
        -      "kind"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "browser": {
        -        "type": "string"
        -      },
        -      "storyId": {
        -        "type": "string"
        -      },
        -      "viewport": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "storyId",
        -      "viewport",
        -      "browser"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "aiClassification": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiConfidence": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiFlagReason": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiIntroducedBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiSummary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiVerdict": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser": {
        +        "type": "string"
        +      },
        +      "changedPct": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "comments": {
        +        "additionalProperties": false,
        +        "description": "Absent on UI Verify's demo project, whose review comments only its team sees.",
        +        "properties": {
        +          "total": {
        +            "type": "number"
        +          },
        +          "unresolved": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "unresolved"
        +        ],
        +        "type": "object"
        +      },
        +      "decision": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "diffResultId": {
        +        "format": "uuid",
        +        "type": "string"
        +      },
        +      "isNew": {
        +        "type": "boolean"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "storyId": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "unstable": {
        +        "type": "boolean"
        +      },
        +      "viewport": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "diffResultId",
        +      "storyId",
        +      "title",
        +      "name",
        +      "viewport",
        +      "browser",
        +      "changedPct",
        +      "decision",
        +      "isNew",
        +      "unstable",
        +      "aiVerdict",
        +      "aiClassification",
        +      "aiIntroducedBy",
        +      "aiConfidence",
        +      "aiSummary",
        +      "aiFlagReason"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "browser": {
        +        "type": "string"
        +      },
        +      "error": {
        +        "type": "string"
        +      },
        +      "errorTruncated": {
        +        "type": "boolean"
        +      },
        +      "kind": {
        +        "enum": [
        +          "render",
        +          "interaction"
        +        ],
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "storyId": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "viewport": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "storyId",
        +      "title",
        +      "name",
        +      "viewport",
        +      "browser",
        +      "error",
        +      "errorTruncated",
        +      "kind"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "browser": {
        +        "type": "string"
        +      },
        +      "storyId": {
        +        "type": "string"
        +      },
        +      "viewport": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "storyId",
        +      "viewport",
        +      "browser"
        +    ],
        +    "type": "object"
        +  }
        +]
    • Changedlist_builds1 field changed
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "Present when this is UI Verify's demo project rather than one of yours; says how to set up your own.",
        +  "type": "string"
        +}
    • Changedlist_pr_stories1 field changed
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "Present when this is UI Verify's demo project rather than one of yours; says how to set up your own.",
        +  "type": "string"
        +}
    • Changedlist_projects2 fields changed
      • changedOutput schema / properties / note / description
        Previous value: -"What to do next, present only when projects is empty."New value: +"What to do next, present when you aren't in any project yet (the list is empty or the demo)."
      • addedOutput schema / properties / projects / items / properties / demo
        Added value: +{
        +  "const": true,
        +  "description": "UI Verify's read-only demo project, not one of yours.",
        +  "type": "boolean"
        +}
  4. 1 tool update
    • Changedlist_projects1 field changed
      • addedOutput schema / properties / note
        Added value: +{
        +  "description": "What to do next, present only when projects is empty.",
        +  "type": "string"
        +}
  5. 5 tool updates
    • Changedaccept_build4 fields changed
      • removedOutput schema / properties / changedStories / items / properties / comments / properties / total / $ref
        Removed value: -"#/properties/comments/properties/total"
      • addedOutput schema / properties / changedStories / items / properties / comments / properties / total / type
        Added value: +"number"
      • removedOutput schema / properties / changedStories / items / properties / comments / properties / unresolved / $ref
        Removed value: -"#/properties/comments/properties/unresolved"
      • addedOutput schema / properties / changedStories / items / properties / comments / properties / unresolved / type
        Added value: +"number"
    • Changedget_build4 fields changed
      • removedOutput schema / properties / changedStories / items / properties / comments / properties / total / $ref
        Removed value: -"#/properties/comments/properties/total"
      • addedOutput schema / properties / changedStories / items / properties / comments / properties / total / type
        Added value: +"number"
      • removedOutput schema / properties / changedStories / items / properties / comments / properties / unresolved / $ref
        Removed value: -"#/properties/comments/properties/unresolved"
      • addedOutput schema / properties / changedStories / items / properties / comments / properties / unresolved / type
        Added value: +"number"
    • Changedget_pr_changeset5 fields changed
      • removedOutput schema / properties / changed / items / $ref
        Removed value: -"#/properties/new/items"
      • addedOutput schema / properties / changed / items / additionalProperties
        Added value: +false
      • addedOutput schema / properties / changed / items / properties
        Added value: +{
        +  "aiConfidence": {
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "aiVerdict": {
        +    "type": [
        +      "string",
        +      "null"
        +    ]
        +  },
        +  "browsers": {
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "kind": {
        +    "enum": [
        +      "new",
        +      "changed"
        +    ],
        +    "type": "string"
        +  },
        +  "name": {
        +    "type": "string"
        +  },
        +  "status": {
        +    "enum": [
        +      "accepted",
        +      "denied",
        +      "ignored",
        +      "pending"
        +    ],
        +    "type": "string"
        +  },
        +  "storyId": {
        +    "type": "string"
        +  },
        +  "title": {
        +    "type": "string"
        +  },
        +  "unstable": {
        +    "type": "boolean"
        +  },
        +  "viewports": {
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  }
        +}
      • addedOutput schema / properties / changed / items / required
        Added value: +[
        +  "storyId",
        +  "title",
        +  "name",
        +  "kind",
        +  "status",
        +  "browsers",
        +  "viewports",
        +  "aiVerdict",
        +  "aiConfidence",
        +  "unstable"
        +]
      • addedOutput schema / properties / changed / items / type
        Added value: +"object"
    • Changedlist_comments1 field changed
      • changedOutput schema / properties / comments / items / properties / anchor / anyOf
        Previous value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "additionalProperties": false,
        -        "properties": {
        -          "type": {
        -            "const": "point",
        -            "type": "string"
        -          },
        -          "x": {
        -            "maximum": 1,
        -            "minimum": 0,
        -            "type": "number"
        -          },
        -          "y": {
        -            "$ref": "#/properties/comments/items/properties/anchor/anyOf/0/anyOf/0/properties/x"
        -          }
        -        },
        -        "required": [
        -          "type",
        -          "x",
        -          "y"
        -        ],
        -        "type": "object"
        -      },
        -      {
        -        "additionalProperties": false,
        -        "properties": {
        -          "h": {
        -            "exclusiveMinimum": 0,
        -            "maximum": 1,
        -            "type": "number"
        -          },
        -          "type": {
        -            "const": "rect",
        -            "type": "string"
        -          },
        -          "w": {
        -            "exclusiveMinimum": 0,
        -            "maximum": 1,
        -            "type": "number"
        -          },
        -          "x": {
        -            "$ref": "#/properties/comments/items/properties/anchor/anyOf/0/anyOf/0/properties/x"
        -          },
        -          "y": {
        -            "$ref": "#/properties/comments/items/properties/anchor/anyOf/0/anyOf/0/properties/x"
        -          }
        -        },
        -        "required": [
        -          "type",
        -          "x",
        -          "y",
        -          "w",
        -          "h"
        -        ],
        -        "type": "object"
        -      },
        -      {
        -        "additionalProperties": false,
        -        "properties": {
        -          "closed": {
        -            "type": "boolean"
        -          },
        -          "points": {
        -            "items": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "x": {
        -                  "$ref": "#/properties/comments/items/properties/anchor/anyOf/0/anyOf/0/properties/x"
        -                },
        -                "y": {
        -                  "$ref": "#/properties/comments/items/properties/anchor/anyOf/0/anyOf/0/properties/x"
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y"
        -              ],
        -              "type": "object"
        -            },
        -            "maxItems": 512,
        -            "minItems": 2,
        -            "type": "array"
        -          },
        -          "type": {
        -            "const": "path",
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "type",
        -          "points",
        -          "closed"
        -        ],
        -        "type": "object"
        -      }
        -    ]
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "type": {
        +            "const": "point",
        +            "type": "string"
        +          },
        +          "x": {
        +            "maximum": 1,
        +            "minimum": 0,
        +            "type": "number"
        +          },
        +          "y": {
        +            "maximum": 1,
        +            "minimum": 0,
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "type",
        +          "x",
        +          "y"
        +        ],
        +        "type": "object"
        +      },
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "h": {
        +            "exclusiveMinimum": 0,
        +            "maximum": 1,
        +            "type": "number"
        +          },
        +          "type": {
        +            "const": "rect",
        +            "type": "string"
        +          },
        +          "w": {
        +            "exclusiveMinimum": 0,
        +            "maximum": 1,
        +            "type": "number"
        +          },
        +          "x": {
        +            "maximum": 1,
        +            "minimum": 0,
        +            "type": "number"
        +          },
        +          "y": {
        +            "maximum": 1,
        +            "minimum": 0,
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "type",
        +          "x",
        +          "y",
        +          "w",
        +          "h"
        +        ],
        +        "type": "object"
        +      },
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "closed": {
        +            "type": "boolean"
        +          },
        +          "points": {
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "x": {
        +                  "maximum": 1,
        +                  "minimum": 0,
        +                  "type": "number"
        +                },
        +                "y": {
        +                  "maximum": 1,
        +                  "minimum": 0,
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y"
        +              ],
        +              "type": "object"
        +            },
        +            "maxItems": 512,
        +            "minItems": 2,
        +            "type": "array"
        +          },
        +          "type": {
        +            "const": "path",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "type",
        +          "points",
        +          "closed"
        +        ],
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedpost_comment1 field changed
      • changedInput schema / properties / anchor / anyOf
        Previous value: -[
        -  {
        -    "anyOf": [
        -      {
        -        "additionalProperties": false,
        -        "properties": {
        -          "type": {
        -            "const": "point",
        -            "type": "string"
        -          },
        -          "x": {
        -            "maximum": 1,
        -            "minimum": 0,
        -            "type": "number"
        -          },
        -          "y": {
        -            "$ref": "#/properties/anchor/anyOf/0/anyOf/0/properties/x"
        -          }
        -        },
        -        "required": [
        -          "type",
        -          "x",
        -          "y"
        -        ],
        -        "type": "object"
        -      },
        -      {
        -        "additionalProperties": false,
        -        "properties": {
        -          "h": {
        -            "exclusiveMinimum": 0,
        -            "maximum": 1,
        -            "type": "number"
        -          },
        -          "type": {
        -            "const": "rect",
        -            "type": "string"
        -          },
        -          "w": {
        -            "exclusiveMinimum": 0,
        -            "maximum": 1,
        -            "type": "number"
        -          },
        -          "x": {
        -            "$ref": "#/properties/anchor/anyOf/0/anyOf/0/properties/x"
        -          },
        -          "y": {
        -            "$ref": "#/properties/anchor/anyOf/0/anyOf/0/properties/x"
        -          }
        -        },
        -        "required": [
        -          "type",
        -          "x",
        -          "y",
        -          "w",
        -          "h"
        -        ],
        -        "type": "object"
        -      },
        -      {
        -        "additionalProperties": false,
        -        "properties": {
        -          "closed": {
        -            "type": "boolean"
        -          },
        -          "points": {
        -            "items": {
        -              "additionalProperties": false,
        -              "properties": {
        -                "x": {
        -                  "$ref": "#/properties/anchor/anyOf/0/anyOf/0/properties/x"
        -                },
        -                "y": {
        -                  "$ref": "#/properties/anchor/anyOf/0/anyOf/0/properties/x"
        -                }
        -              },
        -              "required": [
        -                "x",
        -                "y"
        -              ],
        -              "type": "object"
        -            },
        -            "maxItems": 512,
        -            "minItems": 2,
        -            "type": "array"
        -          },
        -          "type": {
        -            "const": "path",
        -            "type": "string"
        -          }
        -        },
        -        "required": [
        -          "type",
        -          "points",
        -          "closed"
        -        ],
        -        "type": "object"
        -      }
        -    ]
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "anyOf": [
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "type": {
        +            "const": "point",
        +            "type": "string"
        +          },
        +          "x": {
        +            "maximum": 1,
        +            "minimum": 0,
        +            "type": "number"
        +          },
        +          "y": {
        +            "maximum": 1,
        +            "minimum": 0,
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "type",
        +          "x",
        +          "y"
        +        ],
        +        "type": "object"
        +      },
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "h": {
        +            "exclusiveMinimum": 0,
        +            "maximum": 1,
        +            "type": "number"
        +          },
        +          "type": {
        +            "const": "rect",
        +            "type": "string"
        +          },
        +          "w": {
        +            "exclusiveMinimum": 0,
        +            "maximum": 1,
        +            "type": "number"
        +          },
        +          "x": {
        +            "maximum": 1,
        +            "minimum": 0,
        +            "type": "number"
        +          },
        +          "y": {
        +            "maximum": 1,
        +            "minimum": 0,
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "type",
        +          "x",
        +          "y",
        +          "w",
        +          "h"
        +        ],
        +        "type": "object"
        +      },
        +      {
        +        "additionalProperties": false,
        +        "properties": {
        +          "closed": {
        +            "type": "boolean"
        +          },
        +          "points": {
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "x": {
        +                  "maximum": 1,
        +                  "minimum": 0,
        +                  "type": "number"
        +                },
        +                "y": {
        +                  "maximum": 1,
        +                  "minimum": 0,
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "x",
        +                "y"
        +              ],
        +              "type": "object"
        +            },
        +            "maxItems": 512,
        +            "minItems": 2,
        +            "type": "array"
        +          },
        +          "type": {
        +            "const": "path",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "type",
        +          "points",
        +          "closed"
        +        ],
        +        "type": "object"
        +      }
        +    ]
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
  6. 11 tool updates
    • Changedaccept_build1 field changed
      • addedInput schema / properties / projectId
        Added value: +{
        +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
        +  "format": "uuid",
        +  "type": "string"
        +}
    • Changedget_build1 field changed
      • addedInput schema / properties / projectId
        Added value: +{
        +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
        +  "format": "uuid",
        +  "type": "string"
        +}
    • Changedget_diff1 field changed
      • addedInput schema / properties / projectId
        Added value: +{
        +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
        +  "format": "uuid",
        +  "type": "string"
        +}
    • Changedget_pr_changeset1 field changed
      • addedInput schema / properties / projectId
        Added value: +{
        +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
        +  "format": "uuid",
        +  "type": "string"
        +}
    • Changedlist_build_stories1 field changed
      • addedInput schema / properties / projectId
        Added value: +{
        +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
        +  "format": "uuid",
        +  "type": "string"
        +}
    • Changedlist_builds1 field changed
      • addedInput schema / properties / projectId
        Added value: +{
        +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
        +  "format": "uuid",
        +  "type": "string"
        +}
    • Changedlist_comments1 field changed
      • addedInput schema / properties / projectId
        Added value: +{
        +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
        +  "format": "uuid",
        +  "type": "string"
        +}
    • Changedlist_pr_stories1 field changed
      • addedInput schema / properties / projectId
        Added value: +{
        +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
        +  "format": "uuid",
        +  "type": "string"
        +}
    • Addedlist_projects
    • Changedpost_comment1 field changed
      • addedInput schema / properties / projectId
        Added value: +{
        +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
        +  "format": "uuid",
        +  "type": "string"
        +}
    • Changedrender_diff_image1 field changed
      • addedInput schema / properties / projectId
        Added value: +{
        +  "description": "The project to look in (a projectId from list_projects). Needed only when you can access several projects; a buildId already names its project.",
        +  "format": "uuid",
        +  "type": "string"
        +}
  7. 3 tool updates
    • Changedaccept_build2 fields changed
      • addedOutput schema / properties / changedStories / items / properties / comments
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "total": {
        +      "$ref": "#/properties/comments/properties/total"
        +    },
        +    "unresolved": {
        +      "$ref": "#/properties/comments/properties/unresolved"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "unresolved"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / changedStories / items / required
        Previous value: -[
        -  "diffResultId",
        -  "storyId",
        -  "title",
        -  "name",
        -  "viewport",
        -  "browser",
        -  "changedPct",
        -  "decision",
        -  "isNew",
        -  "unstable",
        -  "aiVerdict",
        -  "aiClassification",
        -  "aiIntroducedBy",
        -  "aiConfidence",
        -  "aiSummary",
        -  "aiFlagReason"
        -]New value: +[
        +  "diffResultId",
        +  "storyId",
        +  "title",
        +  "name",
        +  "viewport",
        +  "browser",
        +  "changedPct",
        +  "decision",
        +  "isNew",
        +  "unstable",
        +  "aiVerdict",
        +  "aiClassification",
        +  "aiIntroducedBy",
        +  "aiConfidence",
        +  "aiSummary",
        +  "aiFlagReason",
        +  "comments"
        +]
    • Changedget_build2 fields changed
      • addedOutput schema / properties / changedStories / items / properties / comments
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "total": {
        +      "$ref": "#/properties/comments/properties/total"
        +    },
        +    "unresolved": {
        +      "$ref": "#/properties/comments/properties/unresolved"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "unresolved"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / changedStories / items / required
        Previous value: -[
        -  "diffResultId",
        -  "storyId",
        -  "title",
        -  "name",
        -  "viewport",
        -  "browser",
        -  "changedPct",
        -  "decision",
        -  "isNew",
        -  "unstable",
        -  "aiVerdict",
        -  "aiClassification",
        -  "aiIntroducedBy",
        -  "aiConfidence",
        -  "aiSummary",
        -  "aiFlagReason"
        -]New value: +[
        +  "diffResultId",
        +  "storyId",
        +  "title",
        +  "name",
        +  "viewport",
        +  "browser",
        +  "changedPct",
        +  "decision",
        +  "isNew",
        +  "unstable",
        +  "aiVerdict",
        +  "aiClassification",
        +  "aiIntroducedBy",
        +  "aiConfidence",
        +  "aiSummary",
        +  "aiFlagReason",
        +  "comments"
        +]
    • Changedlist_build_stories1 field changed
      • changedOutput schema / properties / stories / items / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "aiClassification": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiConfidence": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiFlagReason": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiIntroducedBy": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiSummary": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "aiVerdict": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "browser": {
        -        "type": "string"
        -      },
        -      "changedPct": {
        -        "type": [
        -          "number",
        -          "null"
        -        ]
        -      },
        -      "decision": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "diffResultId": {
        -        "format": "uuid",
        -        "type": "string"
        -      },
        -      "isNew": {
        -        "type": "boolean"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "storyId": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "unstable": {
        -        "type": "boolean"
        -      },
        -      "viewport": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "diffResultId",
        -      "storyId",
        -      "title",
        -      "name",
        -      "viewport",
        -      "browser",
        -      "changedPct",
        -      "decision",
        -      "isNew",
        -      "unstable",
        -      "aiVerdict",
        -      "aiClassification",
        -      "aiIntroducedBy",
        -      "aiConfidence",
        -      "aiSummary",
        -      "aiFlagReason"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "browser": {
        -        "type": "string"
        -      },
        -      "error": {
        -        "type": "string"
        -      },
        -      "errorTruncated": {
        -        "type": "boolean"
        -      },
        -      "kind": {
        -        "enum": [
        -          "render",
        -          "interaction"
        -        ],
        -        "type": "string"
        -      },
        -      "name": {
        -        "type": "string"
        -      },
        -      "storyId": {
        -        "type": "string"
        -      },
        -      "title": {
        -        "type": "string"
        -      },
        -      "viewport": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "storyId",
        -      "title",
        -      "name",
        -      "viewport",
        -      "browser",
        -      "error",
        -      "errorTruncated",
        -      "kind"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "additionalProperties": false,
        -    "properties": {
        -      "browser": {
        -        "type": "string"
        -      },
        -      "storyId": {
        -        "type": "string"
        -      },
        -      "viewport": {
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "storyId",
        -      "viewport",
        -      "browser"
        -    ],
        -    "type": "object"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "aiClassification": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiConfidence": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiFlagReason": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiIntroducedBy": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiSummary": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "aiVerdict": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "browser": {
        +        "type": "string"
        +      },
        +      "changedPct": {
        +        "type": [
        +          "number",
        +          "null"
        +        ]
        +      },
        +      "comments": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "total": {
        +            "type": "number"
        +          },
        +          "unresolved": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "total",
        +          "unresolved"
        +        ],
        +        "type": "object"
        +      },
        +      "decision": {
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "diffResultId": {
        +        "format": "uuid",
        +        "type": "string"
        +      },
        +      "isNew": {
        +        "type": "boolean"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "storyId": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "unstable": {
        +        "type": "boolean"
        +      },
        +      "viewport": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "diffResultId",
        +      "storyId",
        +      "title",
        +      "name",
        +      "viewport",
        +      "browser",
        +      "changedPct",
        +      "decision",
        +      "isNew",
        +      "unstable",
        +      "aiVerdict",
        +      "aiClassification",
        +      "aiIntroducedBy",
        +      "aiConfidence",
        +      "aiSummary",
        +      "aiFlagReason",
        +      "comments"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "browser": {
        +        "type": "string"
        +      },
        +      "error": {
        +        "type": "string"
        +      },
        +      "errorTruncated": {
        +        "type": "boolean"
        +      },
        +      "kind": {
        +        "enum": [
        +          "render",
        +          "interaction"
        +        ],
        +        "type": "string"
        +      },
        +      "name": {
        +        "type": "string"
        +      },
        +      "storyId": {
        +        "type": "string"
        +      },
        +      "title": {
        +        "type": "string"
        +      },
        +      "viewport": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "storyId",
        +      "title",
        +      "name",
        +      "viewport",
        +      "browser",
        +      "error",
        +      "errorTruncated",
        +      "kind"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "browser": {
        +        "type": "string"
        +      },
        +      "storyId": {
        +        "type": "string"
        +      },
        +      "viewport": {
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "storyId",
        +      "viewport",
        +      "browser"
        +    ],
        +    "type": "object"
        +  }
        +]
  8. 1 tool update
    • Changedrender_diff_image1 field changed
      • addedInput schema / properties / pxPagination
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Paginate a TALL image slice by slice instead of one unreadable image: return the `height` device px starting at y=`offset`, so a 5000px page is reviewed in readable slices. Omit for the whole image. Ignored for the before_after form (already cropped to the change).",
        +  "properties": {
        +    "height": {
        +      "default": 500,
        +      "description": "Slice height in device px (default 500).",
        +      "exclusiveMinimum": 0,
        +      "type": "integer"
        +    },
        +    "offset": {
        +      "description": "Top y (device px) of the slice to return.",
        +      "minimum": 0,
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "offset"
        +  ],
        +  "type": "object"
        +}
  9. 3 tool updates
    • Changedaccept_build2 fields changed
      • addedOutput schema / properties / comments
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "total": {
        +      "type": "number"
        +    },
        +    "unresolved": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "unresolved"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "buildId",
        -  "commitSha",
        -  "branch",
        -  "prNumber",
        -  "status",
        -  "gateStatus",
        -  "autoAcceptChanges",
        -  "createdAt",
        -  "counts",
        -  "aiReview",
        -  "changedStories",
        -  "changedNextCursor",
        -  "failedStories",
        -  "failedNextCursor"
        -]New value: +[
        +  "buildId",
        +  "commitSha",
        +  "branch",
        +  "prNumber",
        +  "status",
        +  "gateStatus",
        +  "autoAcceptChanges",
        +  "createdAt",
        +  "counts",
        +  "comments",
        +  "aiReview",
        +  "changedStories",
        +  "changedNextCursor",
        +  "failedStories",
        +  "failedNextCursor"
        +]
    • Changedget_build2 fields changed
      • addedOutput schema / properties / comments
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "total": {
        +      "type": "number"
        +    },
        +    "unresolved": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "unresolved"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "buildId",
        -  "commitSha",
        -  "branch",
        -  "prNumber",
        -  "status",
        -  "gateStatus",
        -  "autoAcceptChanges",
        -  "createdAt",
        -  "counts",
        -  "aiReview",
        -  "changedStories",
        -  "changedNextCursor",
        -  "failedStories",
        -  "failedNextCursor"
        -]New value: +[
        +  "buildId",
        +  "commitSha",
        +  "branch",
        +  "prNumber",
        +  "status",
        +  "gateStatus",
        +  "autoAcceptChanges",
        +  "createdAt",
        +  "counts",
        +  "comments",
        +  "aiReview",
        +  "changedStories",
        +  "changedNextCursor",
        +  "failedStories",
        +  "failedNextCursor"
        +]
    • Changedget_diff2 fields changed
      • addedOutput schema / properties / diffs / items / properties / comments
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "total": {
        +      "type": "number"
        +    },
        +    "unresolved": {
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total",
        +    "unresolved"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / diffs / items / required
        Previous value: -[
        -  "diffResultId",
        -  "storyId",
        -  "viewport",
        -  "browser",
        -  "changed",
        -  "decision",
        -  "metrics",
        -  "baselineUrl",
        -  "candidateUrl",
        -  "diffUrl",
        -  "aiSummary",
        -  "aiVerdict",
        -  "aiConfidence",
        -  "aiReasoning",
        -  "aiFlagReason"
        -]New value: +[
        +  "diffResultId",
        +  "storyId",
        +  "viewport",
        +  "browser",
        +  "changed",
        +  "decision",
        +  "metrics",
        +  "baselineUrl",
        +  "candidateUrl",
        +  "diffUrl",
        +  "aiSummary",
        +  "aiVerdict",
        +  "aiConfidence",
        +  "aiReasoning",
        +  "aiFlagReason",
        +  "comments"
        +]
  10. 4 tool updates
    • Addeddelete_comment
    • Addedpost_comment
    • Addedresolve_comment
    • Addedupdate_comment
  11. 1 tool update
    • Addedlist_comments
  12. 1 tool update
    • Removedget_change_attribution
  13. 1 tool update
    • Changedget_change_attribution3 fields changed
      • addedOutput schema / properties / stories / items / properties / approxReason
        Added value: +{
        +  "anyOf": [
        +    {
        +      "enum": [
        +        "no-graph",
        +        "global-change",
        +        "too-large",
        +        "github-error",
        +        "unexplained"
        +      ],
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • addedOutput schema / properties / stories / items / properties / narrowed
        Added value: +{
        +  "type": "boolean"
        +}
      • changedOutput schema / properties / stories / items / required
        Previous value: -[
        -  "storyId",
        -  "base",
        -  "truncated",
        -  "partial",
        -  "refs"
        -]New value: +[
        +  "storyId",
        +  "base",
        +  "truncated",
        +  "partial",
        +  "narrowed",
        +  "approxReason",
        +  "refs"
        +]
  14. 1 tool update
    • Addedget_change_attribution

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Remote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources