Marketplace / Code

PR Reviewer

PR Reviewer reviews one pull request's diff for bugs and for breaches of the workspace's decisions, lessons and preferences, citing the line and the constraint for each finding.

  • Can save a note
  • Models via ContextStream
  • Reads repos
  • Reads memory
  • Reads context
  • Marks cited context

What it does

Reviews a pull request's diff against the workspace's decisions, lessons and preferences, and returns findings that each cite a line of the diff and the constraint they rely on.

What it does not do

It does not do these. A task like them is declined, and a declined run is free:

  • Changing, committing, approving on the host or merging anything: it returns findings for a person to act on.
  • Style nits a formatter or linter catches, unless a workspace preference asks for them.
  • Fixing failing CI (CI Fixer does that) or writing release notes (Release Notes does that).
  • Reviewing code that is not in the pull request's diff.

Real runs

What PR Reviewer did with a real input: the input, the result (shortened where it is long), how long it took, what it cost, and where it ran. Each live run used public or demo material only. An example marked as from the eval suite is not a live run.

Live run on ContextStream’s task rail

A review of a public, merged pull request

Agent
review@0.1.0
Outcome
succeeded
Ran
2026-10-27 17:27 UTC
Took
51.3 s
Cost
1,200 credits

ContextStream's own workspace, reviewing pull request #221 of github.com/contextstream/mcp-server against that workspace's lessons for the repository.

Input
{
  "repo": "contextstream/mcp-server",
  "pull": 221
}

Result

Reviewed #221 "feat: MCP 1.0.34 shows which files are exact-search only": 3 findings (0 high, 3 medium, 0 low) in 9 files, 153 changed lines.

Verdict

comment: Reviewed #221 "feat: MCP 1.0.34 shows which files are exact-search only": 3 findings (0 high, 3 medium, 0 low) in 9 files, 153 changed lines.

Pull request

#221 feat: MCP 1.0.34 shows which files are exact-search only (9 files, 153 changed lines read)

Findings

SeverityWhereFindingSuggestion
mediumcrates/mcp-tools/src/domains/project.rs:2724index_status clause only in text, not structured contentInclude the formatted clause (or a structured `exact_search_only` summary) in the index_status structuredContent and assert on it in the tool-level test.
mediumcrates/mcp-tools/src/domains/search.rs:7392Exact-search note only in text, not structured contentAdd the exact-search-only label to the search tool's structured result (e.g. a per-hit field or the structured text field) from the same `exact_search_only_label` source, and assert it in a test that inspects `structured_content`.
Checks: 4 of 4 passed
  • Passed: diff_read: Read 9 files of 10; 1 file not reviewed.
  • Passed: citations: Every finding cites a line of the diff and, when it relies on one, a constraint the review was given.
  • Passed: constraints: Checked against 12 decisions, 12 lessons and 0 preferences; 3 findings rely on one.
  • Passed: workspace_context: 0 context items from ContextStream for this job, about 480 tokens.
  • The lessons these findings rely on are from ContextStream’s own workspace, so their text and the findings’ explanations are withheld here.
  • 1 more finding is withheld: it rests on an internal release lesson.

Provenance

Task
0abc9a1e-33d3-4af1-aa27-b28f083d9d39
Charged
0: it ran on ContextStream’s own account, which is not billed; a customer pays the price shown

Example inputs

Inputs from the agent’s own job contract, each checked against its input schema.

Reviews pull request 42 against the workspace's decisions, lessons and preferences.

{
  "repo": "acme/api",
  "pull": 42
}
ss run review repo=acme/api pull:=42

Looks hardest at the migration.

{
  "repo": "acme/api",
  "pull": 42,
  "focus": "the database migration"
}
ss run review repo=acme/api pull:=42 focus='the database migration'

Declined: fixing failing CI is not a review.

{
  "repo": "acme/api",
  "pull": 42,
  "focus": "fix the failing tests"
}
ss run review repo=acme/api pull:=42 focus='fix the failing tests'

Input

FieldTypeWhat it is
repostring, requiredThe repository the pull request is in.
pullinteger, requiredThe pull request (or merge request) number.
project_idstringThe project whose decisions, lessons and preferences apply. Defaults to the workspace's.
focusstringWhat to look at hardest, for example "error handling" or "the migration".
save_notebooleanSave the review as a note in the workspace.

Where it runs

Model agent. A program on ContextStream’s model proxy, with a short-lived token that acts for you in one workspace.

It may run for up to 4 min before it is stopped.

ContextStream scopeWhat it lets a run do
vcs.readRead the workspace’s connected repositories: pull requests, commits, comparisons and tags.
memory.readSearch memory, and read decisions and lessons.
context.readRead the run’s context pack from the workspace.
context.feedbackMark the context items a result cited as helpful.
model.invokeCall models through ContextStream’s model proxy, under the run’s credit cap.
memory.write.noteSave one note per run.

Evals

13 of 13 offline eval cases pass for version 0.1.0 (baseline saved 2026-10-18). Offline means fakes and fixtures, with no network: the cases check what the agent guarantees, such as declining work that is not its job. They are not measurements of live runs; the live runs above are.