Source: https://internal-agents.com/agents/snap-codepal

# Snap — 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](https://internal-agents.com/organizations/snap)
- Collection: Agents
- Approach type: Agent
- Deployment stage: Scaled
- Autonomy: Drafts reviewed
- Evidence strength: Detailed primary
- Status: Internal
- First reported year: 2026
- Work: Code review
- Interfaces: Github
- Invocation: Event-driven
- Entry reviewed: 2026-09-21

## Purpose

### Summary

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.

Fact · Reported · High confidence · `snap-codepal--summary`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 18, 20, 60, 66, 92, 155

Representative workflow: Pull request diff through symbolic context build, the multi-pass review loop, and verified findings posted for the author and the human reviewer.

## How it works

### Build symbolic context with a two-pass file picker

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

Fact · Reported · High confidence · `snap-codepal--primitives-2`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 60

### Share one context build across three child workflows

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

Fact · Reported · High confidence · `snap-codepal--primitives-3`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 68

### Run two bootstrap passes in parallel

Two passes start together on the same model with different sampling parameters, and comparing their findings shows which findings the model actually believes

Fact · Reported · High confidence · `snap-codepal--primitives-4`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 82

### Launch a speculative third pass behind an agreement gate

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

Fact · Reported · High confidence · `snap-codepal--primitives-5`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 86

### Hand off to the next pass as soon as a finding is new

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

Fact · Reported · High confidence · `snap-codepal--primitives-6`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 90

### Detect bugs that compilation and tests miss

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

Fact · Reported · High confidence · `snap-codepal--primitives-7`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 44, 114

### Track dependencies across repositories

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

Fact · Reported · High confidence · `snap-codepal--primitives-8`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 40

### Re-review each new commit incrementally

Each new commit triggers a focused re-review, with auto-resolution of findings whose files have left the diff

Fact · Reported · High confidence · `snap-codepal--primitives-9`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 115

## Where people stay involved

- **pull request diff → posted review findings, semantic summary, and generated description that the author and the human reviewer act on** — Work-product review · Level 3

**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 evidence

#### Operating model assessment

Level 3 for pull request diff → posted review findings, semantic summary, and generated description that the author and the human reviewer act on; human attention boundary: work-product-review.

Inference · Catalog judgment · High confidence · `snap-codepal--operating-models-0`

Confidence reason: The source states that engineers judge each posted finding, that their reactions are recorded as ground truth, and that every pull request still requires a final engineering approval, so attention returns on the review output rather than on an outcome or an exception.

Qualifications:

- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 121, 125, 155

## Implementation details

### 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

Fact · Reported · High confidence · `snap-codepal--architecture-harness`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 68, 82-92

### Interfaces

github

Fact · Reported · High confidence · `snap-codepal--architecture-interfaces`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 20, 66

### 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

Fact · Reported · High confidence · `snap-codepal--architecture-tool-access`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 40, 66

### 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

Fact · Reported · High confidence · `snap-codepal--architecture-knowledge`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 44, 139

### 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

Fact · Reported · High confidence · `snap-codepal--architecture-context-mgmt`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 60, 66, 135

### Diff-to-review pipeline

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

Fact · Reported · High confidence · `snap-codepal--primitives-0`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 34, 52, 68

### Read the code without a clone

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

Fact · Reported · High confidence · `snap-codepal--primitives-1`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 66

### Implementation coverage

- **Model:** unreported — The 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:** reported
- **Sandbox:** unreported — The article documents in-memory, no-clone repository access through the GitHub Enterprise API but no execution or isolation boundary; the unknown claim stays in the research details.
- **Tool access:** reported
- **Knowledge:** reported
- **Context management:** reported
- **Credentials:** unreported — The 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:** reported

## Validation and failure handling

### Verify each finding before it is posted

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

Fact · Reported · High confidence · `snap-codepal--primitives-10`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 92, 123

### Turn engineer reactions into ground truth

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

Fact · Reported · High confidence · `snap-codepal--primitives-11`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 125-127

### AB test every change against the evaluation framework

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

Fact · Reported · High confidence · `snap-codepal--primitives-12`

Confidence reason: A linked first-party source states the claim.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 108

## Reported observations

Observation: Adoption output · Reported measurement · CodePal review volume and pull request coverage over the last 4 months before publication, with the confirmed issues corrected before human review

### Headline claim

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

Metric · Reported · Medium confidence · `snap-codepal--headline-metric`

Confidence reason: Snap reports the review count and the coverage share in its own engineering blog; the thousands of confirmed issues carry no counting rule and none of the figures are independently reviewed.

Qualifications:

- 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
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · The Numbers, first bullet; preserved content.md, line 147

Observation: Adoption output · Reported measurement · Growth of CodePal pull request coverage from none to over 90% within a single unnamed quarter

### Key observation

Adoption went from 0% to 90% of pull requests within a single quarter

Metric · Reported · Medium confidence · `snap-codepal--key-metrics-0`

Confidence reason: Snap states the start and end points of the ramp in its own blog; the quarter is named only as a single quarter and no rollout dates are given.

Qualifications:

- 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
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 100, 149

Observation: Adoption output · Reported measurement · The opt-in phase of the rollout, covering the 9% starting share, 300 voluntary repositories, and sentiment during that phase

### Key observation

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

Metric · Reported · Medium confidence · `snap-codepal--key-metrics-1`

Confidence reason: The adoption narrative gives the 9% starting point, the 300-repository figure, and the sentiment share, but does not date the stages or say how sentiment was collected at that point.

Qualifications:

- 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
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 100

Observation: Effectiveness · Reported measurement · True-positive recall measured against the ground truth dataset

### Key observation

The recall rate of true positives climbed from 30% to 80%

Metric · Reported · Medium confidence · `snap-codepal--key-metrics-2`

Confidence reason: Snap reports the recall change twice and names the evaluation framework behind it, but publishes neither the dataset size nor its definition of a recallable bug.

Qualifications:

- The source does not report the denominator of this figure.
- 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
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 100, 117

Observation: Effectiveness · Reported measurement · False positive rate on the held-out golden dataset, explicitly not on live traffic

### Key observation

The false positive rate on the golden dataset dropped to 0%, measured on the held-out golden dataset and not on live traffic

Metric · Reported · Medium confidence · `snap-codepal--key-metrics-3`

Confidence reason: Snap states the 0% rate and volunteers the limit that it was measured on a held-out golden dataset rather than on live traffic, which bounds what the number shows.

Qualifications:

- The source does not report the denominator of this figure.
- 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
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 117

Observation: Effectiveness · Reported measurement · Relative increase in positively rated bug findings against an unnamed earlier baseline

### Key observation

CodePal finds 75% more bugs with a positive rating than it did before the recall work

Metric · Reported · Low confidence · `snap-codepal--key-metrics-4`

Confidence reason: Snap reports the relative increase without naming the baseline period, the absolute counts, or whether review volume grew over the same span.

Qualifications:

- The source does not report the denominator of this figure.
- Reported by: Snap
- Scope: Bugs found with a positive rating, compared with an unnamed earlier period
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 117

Observation: Effectiveness · Reported measurement · Engineer sentiment on CodePal bug findings

### Key observation

Engineer sentiment on bug findings reached 80% positive

Metric · Reported · Medium confidence · `snap-codepal--key-metrics-5`

Confidence reason: The 80% sentiment figure appears in both the adoption section and the closing numbers; the source does not state how the sentiment share is collected or over how many findings.

Qualifications:

- The source does not report the denominator of this figure.
- Reported by: Snap
- Scope: Engineer sentiment on CodePal bug findings
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 100, 117, 150

Observation: Cost latency · Reported measurement · CodePal review completion time against the median wait for a first human review

### Key observation

CodePal reviews complete within 10 minutes, while the median wait for a first human review is about 5 hours

Metric · Reported · Medium confidence · `snap-codepal--key-metrics-6`

Confidence reason: Snap gives a completion bound for CodePal and a median for the human comparison; the CodePal figure is stated as within 10 minutes rather than as a median, and neither figure is dated.

Qualifications:

- The source does not report the denominator of this figure.
- Reported by: Snap
- Scope: CodePal review completion time against the median wait for the first human review on a Snap pull request
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 148

Observation: Cost latency · Reported measurement · Average cost of one CodePal review

### Key observation

Reviews cost on average about $0.40 each

Metric · Reported · Medium confidence · `snap-codepal--key-metrics-7`

Confidence reason: Snap reports an average unit cost without a measurement window or a statement of what the cost includes.

Qualifications:

- The source does not report the denominator of this figure.
- Reported by: Snap
- Scope: Average cost of one CodePal review
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 151

Observation: Effectiveness · Qualitative · Severity split of the CodePal findings that engineers accepted with a +1 vote

### Key observation

The majority of accepted bugs, meaning findings that received a +1 vote in the pull request review, rank as Critical or High severity

Metric · Reported · Low confidence · `snap-codepal--key-metrics-8`

Confidence reason: Snap describes the severity split as a majority and defines an accepted bug as one with a +1 vote, but gives no share, no count, and no severity-rating method.

Qualifications:

- 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
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 46

Observation: Adoption output · Reported measurement · Snap's company-wide merged pull request rate year-to-date, reported as context for building CodePal rather than as a CodePal result

### Key observation

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

Metric · Reported · Medium confidence · `snap-codepal--key-metrics-9`

Confidence reason: Snap reports this as a company-wide velocity figure behind the review bottleneck that prompted CodePal; the article attributes it to AI coding tool use, not to CodePal, and gives no method.

Qualifications:

- The source does not report the denominator of this figure.
- 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
- Observation date: 2026-06

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 10-12

## Lessons

### Lesson

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.

Opinion · Reported · Medium confidence · `snap-codepal--lessons-learned-0`

Confidence reason: The lessons section states this as Snap's own conclusion from the misses reported to the team; no counts of missed bugs or model comparisons are published to support it.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 135

### Lesson

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.

Fact · Reported · Medium confidence · `snap-codepal--lessons-learned-1`

Confidence reason: Snap reports both the zero-configuration result for most repositories and the noise its biggest repositories produce without per-path instructions; the claim covers Snap's repositories only.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 137-139

### Lesson

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.

Fact · Reported · High confidence · `snap-codepal--lessons-learned-2`

Confidence reason: The closing section states directly that CodePal reviews human-written and AI-written code and that every pull request still requires a final engineering approval.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 143, 155

### Lesson

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.

Fact · Reported · Medium confidence · `snap-codepal--lessons-learned-3`

Confidence reason: Snap names both reasons it rejected vendor tools and dates the demo at two weeks; the procurement comparison is Snap's own account of its evaluation.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 26-30

### Lesson

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.

Opinion · Reported · Medium confidence · `snap-codepal--lessons-learned-4`

Confidence reason: Snap describes the voting mechanism as fact and the flywheel as its own reading of it; the article shows no measurement that engagement improved later reviews for the engineers who voted.

Evidence:

- Supports · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, line 141

## Reviewed legacy details

### Sandbox

unknown

Inference · Catalog judgment · Medium confidence · `snap-codepal--architecture-sandbox`

Confidence reason: The article documents in-memory, no-clone repository access but no execution or isolation boundary; unknown does not mean absent.

Evidence:

- Contextualizes · [1] [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal) · [Preserved copy](https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md) · Preserved content.md, lines 64-68: in-memory, no-clone repository access, with no execution or isolation boundary described

## Question coverage and scope

- **purpose:** Reported
- **workflow:** Reported
- **human involvement:** 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.
- **implementation:** Reported
- **validation:** Reported
- **observations:** Reported
- **lessons:** Reported

## Related reading

- Related implementation: [Snap — Casper](https://internal-agents.com/agents/snap-casper)

## Sources

1. [CodePal: How Snap Built an AI Code Reviewer for the Age of AI-Written Code](https://eng.snap.com/codepal)
   - Engineering blog · First party · Evidence
   - Original URL: <https://eng.snap.com/codepal>
   - Publisher: Snap Engineering · Published: 2026-06-05 · Accessed: 2026-09-21 · Last verified: 2026-09-21
   - Preserved copy in the repository: <https://github.com/steel-experiments/internal-agents-map/blob/main/archive/sources/snap-codepal-source-1/content.md>
