mrkeyoor.com_
Sun 27 Sept 09:41 UTC
Dev Toolsevaluationupdated 26 Aug 2026

pr-af review

PR-AF is a self-hosted AI pull-request reviewer that splits a change into review dimensions, asks several agents to inspect it, verifies their evidence, and posts findings back to GitHub. It is built on AgentField for teams that want deeper automated review than a diff summary and are willing to supply model and GitHub credentials.

+5stars / 7d
Verdict

Our PR-AF run built in 4 seconds, but 22 of 107 tests failed because the test environment lacked async support, so the checkout is promising rather than release-gate ready. Trial it if deep, evidence-backed reviews justify AgentField operations and model spend. Keep deterministic checks in front of it, and avoid treating an empty result or reported cost as proof until the open diff and accounting bugs are resolved.

We ran it

Lab card: what happened when we ran pr-afScreenshot of pr-af (www.agentfield.ai)
Install✓ · 40s98 packages · 241 MB
Build✓ · 4s
Tests✗ · 14s85 passed · 22 failed of 107 (pytest)
Known vulns0(pip-audit)
Repo323 files~37,711 lines of source · 10.8 MB · 1 CI workflows · Dockerfile · tests dir

Answers from our run

Does pr-af build from source?

Dependencies installed in 40 seconds (98 packages), and the build succeeded in 4 seconds. We cloned commit 48ae7ee into a clean Debian container with 3 CPUs and no project-specific setup.

Do pr-af's tests pass?

Not all of them: 85 of 107 passed and 22 failed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does pr-af have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use pr-af?

Teams that need the test suite green in a fresh checkout: our run ended with 22 failures because async tests lacked a suitable pytest plugin.

What are the alternatives to pr-af?

PR-Agent, reviewdog, OpenHands. Our PR-AF run built in 4 seconds, but 22 of 107 tests failed because the test environment lacked async support, so the checkout is promising rather than release-gate ready.

Setup3/540-second install and 4-second build; async tests failed
Docs4/5Clear CLI, HTTP, Railway, Compose, and configuration paths
Community3/5578 stars, 4 open issues and PRs, pushed in August 2026
Maturity2/5Strong architecture, but 22 tests and core input paths need work

Who it’s for

Platform teams that want an AI review gate behind GitHub labels, an API, or the AgentField CLI.
Developers willing to pay model-provider costs for multi-agent reviews and inspect the evidence before merging.
Self-hosters who can operate AgentField, PostgreSQL, workspaces, secrets, and a long-running review service.

Who it’s NOT for

Teams that need the test suite green in a fresh checkout: our run ended with 22 failures because async tests lacked a suitable pytest plugin.
Users relying on pasted diffs without a repository workspace: open issues 55 and 56 describe malformed diffs succeeding empty and valid diff-only findings being discarded.
Buyers who need trustworthy cost ceilings today: issue 57 reports 20 model calls while the recorded cost remained zero.
Small pull requests that need feedback in minutes: the README positions PR-AF as a deep CI gate and describes a much slower path than interactive review tools.

Setup reality

Our sandbox installed 98 packages in 40 seconds and used 241 MB. The build passed in 4 seconds. Tests failed after 14 seconds: pytest reported 85 passed and 22 failed out of 107, with the failures saying async functions need a plugin such as pytest-asyncio.

A useful deployment needs AgentField plus OPENROUTER_API_KEY and a GitHub token. The Railway route adds a public control-plane API key and PostgreSQL; local Docker Compose starts the control plane and reviewer together. Review workspaces need persistent disk and cleanup.

The repository has a Dockerfile, Compose file, tests directory, and 1 CI workflow. Pip-audit found 0 known vulnerabilities. Provider binaries, model selection, per-run cost and duration limits, GitHub permissions, and concurrent workspaces remain operator choices.

PR-AF turns one pull request into several review jobs

PR-AF does more than ask a model to summarize a diff. It maps the change, generates review dimensions, sends focused agents through those dimensions, extracts code evidence, tries to disprove each finding, and clusters related risks before producing comments. The result format includes severity, file, line, suggested change, evidence, and compound risk. That structure is useful because a reviewer can inspect why a warning exists instead of accepting a free-form model opinion.

The README presents benchmark leadership as the main sales case, with GLM and larger commercial models occupying different quality and cost positions. We did not rerun that benchmark, so it should be treated as the project's published evidence, not our measurement. The part a team can evaluate directly is the pipeline: reviewers have defined roles, findings face a falsifiability step, and output maps back to GitHub annotations.

The 40-second install is only the control-plane entry fee

Our commit 48ae7ee checkout installed 98 Python packages in 40 seconds and occupied 241 MB. The build passed in 4 seconds. The repository had 323 files, about 37,711 source lines, a Dockerfile, a Compose file, a tests directory, and 1 CI workflow. Pip-audit reported 0 known vulnerabilities in the installed Python environment. Those are sensible mechanics for a service that expects deployment rather than a one-off script.

A real review adds infrastructure and variable spend. PR-AF requires AgentField, an OpenRouter key, and a GitHub token that can read pull requests and post reviews. Railway supplies a control plane and PostgreSQL, while Docker Compose runs the stack locally. The API can be called asynchronously, and a public control plane needs its own API key. Operators also choose a model, wall-clock ceiling, cost ceiling, workspace root, and harness binary.

What happened when we ran it

Our sandbox reached the test suite after the 40-second install and 4-second build. Pytest ran for 14 seconds and reported 85 passed, 22 failed, and 6 warnings out of 107 tests. Every failure shown in the supplied log ended with the same class of message: async functions are not natively supported, followed by suggestions including anyio, pytest-asyncio, pytest-trio, and pytest-twisted.

The log tells us the async test environment was incomplete; it does not prove which plugin or configuration the maintainers intended. The practical result is still a failed suite with exit code 1. Passing 85 tests gives more signal than a checkout that never starts, but a CI review gate should not ask adopters to infer why 22 tests fail. Pinning the intended async test dependency and making the documented test command green would remove that uncertainty.

Pasted diffs have two open correctness failures

PR-AF accepts a pull-request URL, repository path, or diff text, but the open reports make those routes unequal. Issue 55 says a malformed hunk was silently read as an empty change and returned a successful review with zero findings. For downstream automation, that is worse than a loud parse error because a clean-looking result can pass a gate. The report asks for a failed execution that names the bad hunk.

Issue 56 describes a valid diff-only review where the pipeline identified a data race, then searched for the changed file inside PR-AF's own package directory. The verifier discarded the real finding and returned a location error after 20 invocations and 27 minutes. These are user reports, not results from our sandbox, but both concern advertised input behavior. Until fixed, provide a materialized repository workspace and reject empty results when the input contained changes.

Cost limits need a bill-side backstop

The configuration includes a per-run dollar ceiling and a 3,600-second duration default. Issue 57 reports that a review made 20 real model invocations over 27 minutes while total cost and every breakdown bucket remained zero. If accounting misses a provider path, the application-level dollar limit cannot be the only spend control. Set a provider-side budget, alerts, and concurrency limits before labeling many pull requests automatically.

Workspace use deserves similar attention. Issue 69 says concurrent agents still share one mutable checkout, where context files and agent output can race. The proposal is open rather than shipped. It discusses copy-on-write forks, cleanup, and isolation for commands that modify files. For current deployments, size the workspace volume, monitor accumulated clones, and avoid assuming that every reviewer can safely run destructive checks in parallel.

August maintenance is active, with no formal release

GitHub recorded the last push on August 21, 2026. The repository had 578 stars and 4 open issues and pull requests when fetched, with all 4 returned items being issues. There was no latest GitHub release. That combination shows active source work and a small, specific problem queue, while leaving adopters without a tagged release boundary to pin through GitHub Releases. Use a commit or image digest deliberately.

PR-AF is most convincing as a second review layer after formatting, types, tests, and security scanners. The 241 MB install is manageable, and its evidence schema is better than a generic model comment. The failed async tests, diff-only failures, and zero-cost report keep it out of unattended merge authority. Let it find things humans may miss, then require a human to judge the evidence.

Alternatives

ProjectWhat it isPick it when
PR-AgentAn open-source pull-request assistant with review, description, and improvement commands.pick this instead when you want a more established PR-focused tool with several deployment and provider options.
reviewdogA review annotator that turns deterministic linter output into code-host comments.pick this instead when reproducible static-analysis findings matter more than model-led architectural review.
OpenHands gh↗A general software agent that can inspect and change repositories.pick this instead when the job includes implementing fixes, not only reviewing a pull request.

What people are saying

  1. [github-trending] Agent-Field/pr-af

Sources

  1. PR-AF README
  2. Malformed diff succeeds empty
  3. Diff-only verification drops a finding
  4. Cost accounting reports zero
  5. Shared workspace isolation proposal

More dev tools reviews

fx · qmk_firmware · foundry · terminal-browser · fearless_simd · devops-exercises · the whole board →