CodePal
Snap built CodePal, an internal AI code reviewer that comments on pull requests in its GitHub Enterprise instance before a human reviewer reads them. It builds symbolic context for the diff without cloning the repository, runs a multi-pass review loop with a verifier that audits every finding, and posts bug findings, a semantic diff summary, and a generated pull request description. Snap reports that CodePal reviews 90% of all its pull requests today, and that every pull request still requires a final engineering approval.
- Company
- Snap
- Approach type
- Agent
- Work
- Code review
- Human involvement
- Drafts reviewed
- Invocation
- Event-driven
- Interfaces
- Github
- Deployment stage
- Scaled
- Evidence strength
- Detailed primary
- Entry reviewed
How it works
Pull request diff through symbolic context build, the multi-pass review loop, and verified findings posted for the author and the human reviewer.
The first pass parses the repository with tree-sitter to build a symbol-to-file index; the second pass extracts the symbols the diff references, scores files by symbol overlap, and selects the top N files within the token budget[Source 1]
A parent workflow runs the symbol indexing and file selection once and writes the result to a shared store, which the code review, summary generation, and description generation child workflows all read[Source 1]
Two passes start together on the same model with different sampling parameters, and comparing their findings shows which findings the model actually believes[Source 1]
A third pass starts in a cancellable context as soon as one bootstrap pass finishes; the supervisor discards its work when the two bootstrap passes agree and counts it when they disagree[Source 1]
From the third pass onward, a pass that surfaces a finding the supervisor has not seen launches the next pass without waiting for the current one to finish, and a pass with no net-new findings gets no successor[Source 1]
CodePal looks for logic errors, null pointer risks, race conditions, resource leaks, error handling gaps, type mismatches, edge cases, and state management problems, and Snap expanded the detection scope from 8 bug categories to 12[Source 1]
For a growing share of reviews CodePal queries Code Search to identify the downstream callers a function signature change would break, including callers that live in a different repository than the pull request touches[Source 1]
Each new commit triggers a focused re-review, with auto-resolution of findings whose files have left the diff[Source 1]
Where people stay involved
People review, approve, or guide the agent’s work here.
Reported: Findings are posted for the author and the human reviewer to judge and vote on, and every pull request still requires a final engineering approval.
Supervision level
Work-product review
A person reviews the draft or implementation.
Level 3 of 5
- pull request diff → posted review findings, semantic summary, and generated description that the author and the human reviewer act on[Source 1]
Implementation details
- Model
- Not reportedThe article names no review model; it says only that the two bootstrap passes share one model with different sampling parameters and that Snap keeps testing which model balances quality, cost, and speed.
- Harness
- A parent workflow builds the review context once and writes it to a shared store that three child workflows for code review, summary generation, and description generation all read; the review loop runs concurrent model passes under a supervisor with an agreement gate and an eager hand-off, alongside a separate long-running verifier conversation[Source 1]
- Sandbox
- Not reportedThe article documents in-memory, no-clone repository access through the GitHub Enterprise API but no execution or isolation boundary.
- Tool access
- Reads git tree diffs and only the required source blobs through the GitHub Enterprise API without cloning, and for a growing share of reviews queries Code Search, Snap's internal semantic search over the full codebase[Source 1]
- Knowledge
- Repository-level customization through a .codepal.yaml file and per-path instructions, and repository-specific review checks on top of the shared bug categories[Source 1]
- Context management
- A two-pass file picker scores repository files by symbol overlap with the diff and selects the top N within a token budget, so a typical review reads a few hundred KB of source whatever the repository size; reviews are also chunked into logical parts to avoid overwhelming the model[Source 1]
- Credentials
- Not reportedThe article states that every review runs against the GitHub Enterprise API but does not document how CodePal authenticates to it or to Code Search.
- Interfaces
- github
Mechanisms
Pull request diff → symbolic context build → multi-pass review loop → verified findings, a semantic diff summary, and a generated description posted on the pull request[Source 1]
Every review runs in memory against the GitHub Enterprise API, using git tree diffs to identify what changed and fetching only the needed blobs, with no working copy written to disk and no long-lived repository mirror[Source 1]
Validation and failure handling
The Verifier, a separate long-running model conversation, consumes findings as they merge and audits each one against the supplied context, for example checking that every symbol a finding cites is present in that context[Source 1]
The Finding Lifecycle records a thumbs up or thumbs down on each CodePal comment, together with findings that authors fix and findings merged without being addressed, and aggregates them into the ground truth dataset[Source 1]
An evaluation framework built on the ground truth dataset AB tests new CodePal changes, targeting higher true-positive recall and fewer false positives, with speed and cost kept as guardrails[Source 1]
Reported observations
These results come from the sources. Notes below each result explain what it covers and any reported limits.
More than 200,000 reviews across 90% of all pull requests over the last 4 months, catching thousands of confirmed issues that were corrected before human review and before reaching production[Source 1]
- Reported by
- Snap
- Scope
- CodePal reviews over the last 4 months before publication; the source dates the window relatively and gives no calendar range
- Denominator
- 90% of all pull requests at Snap
Observed in June 2026
About this result
- Category
- Adoption output
- Evidence type
- Reported measurement
- What it covers
- CodePal review volume and pull request coverage over the last 4 months before publication, with the confirmed issues corrected before human review
Adoption went from 0% to 90% of pull requests within a single quarter[Source 1]
- Reported by
- Snap
- Scope
- Share of pull requests receiving a CodePal review, from virtually no AI-reviewed pull requests to over 90%, within a single unnamed quarter
- Denominator
- All pull requests at Snap
Observed in June 2026
About this result
- Category
- Adoption output
- Evidence type
- Reported measurement
- What it covers
- Growth of CodePal pull request coverage from none to over 90% within a single unnamed quarter
CodePal started as an opt-in experiment on 9% of pull requests and reached voluntary use across 300 repositories with more than 70% positive sentiment before teams were auto opted in[Source 1]
- Reported by
- Snap
- Scope
- The opt-in phase of the CodePal rollout, before teams were auto opted in
- Denominator
- Pull requests at Snap for the 9% figure; repositories for the 300-repository figure
Observed in June 2026
About this result
- Category
- Adoption output
- Evidence type
- Reported measurement
- What it covers
- The opt-in phase of the rollout, covering the 9% starting share, 300 voluntary repositories, and sentiment during that phase
The recall rate of true positives climbed from 30% to 80%[Source 1]
- Reported by
- Snap
- Scope
- Recall of true positives, reported as climbing during the same quarter in which adoption reached 90%; the source gives no calendar dates
- Method
- An evaluation framework with a ground truth dataset formed from real engineer feedback, used to AB test CodePal changes
The source does not report the denominator of this figure.
Observed in June 2026
About this result
- Category
- Effectiveness
- Evidence type
- Reported measurement
- What it covers
- True-positive recall measured against the ground truth dataset
The false positive rate on the golden dataset dropped to 0%, measured on the held-out golden dataset and not on live traffic[Source 1]
- Reported by
- Snap
- Scope
- False positive rate on the held-out golden dataset, explicitly not on live traffic
- Method
- Measurement against the held-out golden dataset in the evaluation framework
The source does not report the denominator of this figure.
Observed in June 2026
About this result
- Category
- Effectiveness
- Evidence type
- Reported measurement
- What it covers
- False positive rate on the held-out golden dataset, explicitly not on live traffic
CodePal finds 75% more bugs with a positive rating than it did before the recall work[Source 1]
- Reported by
- Snap
- Scope
- Bugs found with a positive rating, compared with an unnamed earlier period
The source does not report the denominator of this figure.
Observed in June 2026
About this result
- Category
- Effectiveness
- Evidence type
- Reported measurement
- What it covers
- Relative increase in positively rated bug findings against an unnamed earlier baseline
Engineer sentiment on bug findings reached 80% positive[Source 1]
- Reported by
- Snap
- Scope
- Engineer sentiment on CodePal bug findings
The source does not report the denominator of this figure.
Observed in June 2026
About this result
- Category
- Effectiveness
- Evidence type
- Reported measurement
- What it covers
- Engineer sentiment on CodePal bug findings
CodePal reviews complete within 10 minutes, while the median wait for a first human review is about 5 hours[Source 1]
- Reported by
- Snap
- Scope
- CodePal review completion time against the median wait for the first human review on a Snap pull request
The source does not report the denominator of this figure.
Observed in June 2026
About this result
- Category
- Cost latency
- Evidence type
- Reported measurement
- What it covers
- CodePal review completion time against the median wait for a first human review
Reviews cost on average about $0.40 each[Source 1]
- Reported by
- Snap
- Scope
- Average cost of one CodePal review
The source does not report the denominator of this figure.
Observed in June 2026
About this result
- Category
- Cost latency
- Evidence type
- Reported measurement
- What it covers
- Average cost of one CodePal review
The majority of accepted bugs, meaning findings that received a +1 vote in the pull request review, rank as Critical or High severity[Source 1]
- Reported by
- Snap
- Scope
- Severity of CodePal findings that engineers accepted with a +1 vote in the pull request review
- Denominator
- Accepted CodePal bug findings
Observed in June 2026
About this result
- Category
- Effectiveness
- Evidence type
- Qualitative
- What it covers
- Severity split of the CodePal findings that engineers accepted with a +1 vote
Snap's merged pull request rate is up 60% year-to-date, which the article attributes to daily engineer use of AI coding tools rather than to CodePal[Source 1]
- Reported by
- Snap
- Scope
- Snap's merged pull request rate year-to-date, reported as context for building CodePal rather than as a CodePal result
The source does not report the denominator of this figure.
Observed in June 2026
About this result
- Category
- Adoption output
- Evidence type
- Reported measurement
- What it covers
- Snap's company-wide merged pull request rate year-to-date, reported as context for building CodePal rather than as a CodePal result
Lessons
Reported opinion: Snap concluded that for its own missed bugs the context supplied to the model mattered more than picking a top-tier model, and it chunks each review into logical parts so the model is not overwhelmed.[Source 1]
CodePal produces high-quality reviews with zero configuration in most Snap repositories, but Snap reports that its largest and most complex repositories generate noise until teams invest in .codepal.yaml configuration and per-path instructions.[Source 1]
Snap keeps a human approval gate: CodePal reviews code written by humans and AI alike, and every pull request still requires a final engineering approval.[Source 1]
Snap built CodePal in-house after evaluating vendor tools, citing integration depth with its internal systems and speed; a working end-to-end demo shipped in two weeks, before the procurement cycle had finished.[Source 1]
Reported opinion: Snap reports that voting on every CodePal comment creates a flywheel, because the recorded feedback influences future reviews and the engineers who engage most shape what CodePal surfaces for them.[Source 1]