mrkeyoor.com_
Wed 12 Aug 16:51 UTC
Dev Toolsevaluationupdated 12 Aug 2026

pr-af

PR-AF is a self-hosted, multi-agent pull-request reviewer that builds a custom review plan for each change, runs specialized reviewers in parallel, challenges their findings, and posts evidence-backed GitHub comments. It aims at deep CI review rather than the fast summaries and chat experience offered by hosted review bots.

Verdict

PR-AF has a thoughtful architecture and one of the better evidence packages behind an open AI reviewer, but it is still an early engineering project rather than a dependable merge gate. Pilot it on large, high-risk pull requests where a long second opinion is valuable, and verify every budget, empty result, and posted comment. Do not make it mandatory until the repository contains an actual license grant and your deployment passes failure-mode tests on the maintained Go path.

Setup3/5Good install paths, but control plane, secrets, and capacity remain
Docs4/5Detailed architecture and benchmarks, with implementation drift
Community3/5Current fixes and issue traffic, but a small young project
Maturity2/5No tagged release, unclear license, and critical open failures

Who it’s for

Teams willing to spend 35 to 50 minutes on a final review gate for risky or architectural pull requests.
AgentField users who want a ready-made review node callable from the CLI, HTTP, webhooks, or GitHub Actions.
Organizations that prefer self-hosting and bring-your-own-model billing over a per-seat review service.
Researchers who want public benchmark inputs, outputs, judge decisions, and reproduction scripts for an agentic reviewer.
Go or Python developers interested in adapting a planned, parallel, adversarial review pipeline.

Who it’s NOT for

Organizations that require an unambiguous open-source grant before evaluation: the README badge and package metadata say Apache 2.0, but the repository has no LICENSE file and GitHub detects no license.
Teams that treat a successful empty review as proof of safety: an open issue shows malformed diff text being silently treated as an empty pull request with zero findings.
Users relying on direct diff_text input: another open report says verifiers searched the agent package instead of the changed project and discarded a real data-race finding.
Anyone depending on the default cost ceiling in the maintained Go path: an open report recorded 20 model calls and real usage while reported cost stayed at zero.
Small runners reviewing huge generated diffs without strict caps: a recent lockfile review drove a container toward a 24 GB memory limit before a concurrency fix landed.
Fast feedback loops: the project itself says reviews usually take 35 to 50 minutes, versus seconds or a few minutes for inner-loop tools.

Setup reality

The shortest route is af install plus two secrets, but that assumes an AgentField control plane. Docker Compose adds the control plane and PR-AF locally, while Railway adds PostgreSQL as well. You need an OpenRouter key, a GitHub token with repository access, persistent workspaces, model and duration budgets, and enough memory for parallel harness processes. There is also an implementation split: repository installs select the maintained Go node, while the root Compose stack and local-path install retain the Python node, so operators must know which code path they are running.

A code reviewer that designs its own review

PR-AF does not send a pull-request diff through one fixed checklist. It first classifies the change, maps files and dependencies, and asks a planner to create review dimensions specific to that pull request. A payment endpoint might get reviewers for input validation and transaction consistency, while a logging refactor gets checks for behavioral preservation and missed call sites. Specialized agents then work in parallel, and later phases cross-reference, challenge, verify, and combine their findings.

The architecture makes sense for deep review. Static prompts waste attention on irrelevant categories, and one model pass can miss interactions across files. PR-AF tries to ground each claim with code context, reject findings that have an existing mitigation, and identify compound risks that only appear when two changes interact. Final findings include severity, location, explanation, suggestion, and evidence, and the service can post them as inline GitHub comments.

This is not intended as an editor companion. The README recommends using a quick local assistant during development and PR-AF as a final gate. Its stated 35-to-50-minute runtime makes that division necessary. A team should reserve it for consequential changes, scheduled review, or label-triggered audits rather than every small revision.

Setup comes in several similar-looking forms

Existing AgentField users get the cleanest path: install the repository, run the node, and call pr-af.review with a pull-request URL. New users must install the AgentField control plane first. Railway packages PR-AF, the control plane, and PostgreSQL. The root Docker Compose stack starts a local control plane and reviewer. GitHub Actions can launch that stack when a pr-af label is added.

Every path needs model and source-control credentials. OpenRouter is required by the documented default, while the GitHub token needs repository scope for reading code and posting reviews. Public control-plane calls need their own API key. Operators can cap duration, nominal model cost, concurrent reviewers, review depth, and coverage iterations. The default wall-clock ceiling is one hour, which fits the expected runtime but is a substantial CI allocation.

The implementation transition complicates this picture. Installing the bare repository through AgentField redirects to the maintained Go package on port 8007. Cloning and installing the local path deliberately retains the Python node, and the root Compose stack also runs Python. A separate Compose add-on can run Go beside it. The documentation explains the split, but teams can easily compare an issue, config default, or benchmark against a different implementation from the one they deployed.

The benchmark is useful evidence with boundaries

The repository includes a reproducible package for Martian Code-Review-Bench. PR-AF reviewed 38 runnable pull requests from five projects with one open model, without access to the human golden comments. The project reports 0.706 golden recall, second among 42 compared configurations overall and described as first among open-source reviewers. Its adjusted scoring reports 0.82 F1 and 595 valid findings, including non-golden bugs and valid nits.

Those numbers are more inspectable than a marketing chart. Inputs, outputs, scoreboards, per-pull-request judge decisions, and scripts are checked into the repository. The evaluation still has important limits. Twelve of 50 benchmark cases were deferred because their original pull requests could not be recovered. Comment matching and classification of extra findings use a language-model judge. The adjusted view was assembled by the PR-AF project, and benchmark leaderboards change. Treat the result as strong project-run evidence that merits reproduction, not a guarantee for a private codebase.

The README also claims a large cost advantage over closed tools, but the benchmark run used uncapped cost for quality. Measure spend on your own pull requests before relying on that claim. Model choice, diff size, review depth, parallel dimensions, and retries all change the bill.

Open defects affect the meaning of a clean result

The most troubling issues are not cosmetic. Issue 55 passes malformed diff_text with inconsistent hunk lengths. The Go reviewer swallows the parse failure, describes an empty pull request, and succeeds with no findings. Downstream automation can mistake that for a completed clean review. Issue 56 shows a valid diff-only review where the first phase noticed a data race, but the verifier searched PR-AF’s own package directory, decided the referenced file did not exist, and removed the real finding.

Cost enforcement also needs proof. Issue 57 records a 27-minute Go run with 20 model invocations and visible OpenRouter activity, yet every reported cost field remained zero. If that path cannot extract provider costs, the configured dollar ceiling cannot stop overspend. Use provider-side limits and alerts until local accounting is verified.

Parallelism has operational consequences. A 60,000-line lockfile-heavy pull request triggered enough harness fan-out to drive a Railway deployment toward its roughly 24 GB limit and crash. The August 10 fix added one shared agent budget, ignored generated files in expensive phases, and capped evidence work. A follow-up remains open because reviewers still share one mutable checkout, can race on context files, cannot safely run destructive tests, and leave cloned workspaces behind.

Active, young, and missing a crucial file

PR-AF was created in March 2026 and last pushed on August 10. Recent commits fixed large-PR retrieval, model-provider fallback, review fan-out, webhook controls, and the Go packaging switch. GitHub listed four open issues and two open pull requests. That is healthy activity, and the detailed incident reports show unusually candid engineering work.

There are no tagged GitHub releases, and both implementations identify themselves as version 0.1.0. More seriously, the README badge and Python package metadata declare Apache 2.0, but the repository has no LICENSE file and GitHub reports no detected license. Metadata is not a substitute for the actual license text and grant. Legal teams have a sound reason to stop there.

PR-AF is worth watching and testing because its adaptive review plan, adversarial filtering, and public results target the right problems. Today, it belongs beside human review as an experimental deep-audit service, not above it as an unquestioned gate. Require explicit parse failures, verify cost limits, isolate workspaces, and resolve licensing before expanding beyond a controlled pilot.

Alternatives

ProjectWhat it isPick it when
PR-AgentAn open-source pull-request agent with review, description, improvement, and question tools across Git hosts.pick this instead when you want a more established PR assistant with interactive commands and broader platform integrations.
CodeRabbitA hosted AI review service focused on fast GitHub and GitLab feedback, summaries, and conversations.pick this instead when managed setup and quick reviewer interaction matter more than self-hosting and deep multi-agent runs.
ReviewdogA deterministic bridge that turns linter and analyzer output into pull-request review comments.pick this instead when trusted static tools already find the issues and you only need dependable CI annotations.

What people are saying

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

Sources

  1. PR-AF GitHub repository
  2. PR-AF architecture
  3. PR-AF benchmark results
  4. PR-AF Go implementation guide
  5. Malformed diff succeeds as clean issue
  6. Diff-only verification drops real finding issue
  7. Go cost accounting issue
  8. Parallel review memory incident