Source: https://codereviewguide.fyi/perch-vs-gitlab-duo-code-review-flow/

Perch vs GitLab Duo Code Review Flow · reviewed 2026-10-14

# GitLab Duo comparison for behavior checks before a merge request

Perch lets the coding agent run a selected English rule outside the merge request. Keep the requirement and command with the source so local edits and CI can verify the same intended behavior.

`perch check` reads working files; `perch scan` reads Git HEAD. Relevant source is sent to TypeSafe’s hosted models. The MIT CLI does not run model inference offline.

[See the rule catch a regression](https://codereviewguide.fyi/perch-vs-gitlab-duo-code-review-flow/#check)[Install the Perch CLI](https://github.com/lakeday-org/perch/blob/main/docs/install.md)

## Perch

~50¢

per mid-sized pull request · estimate

- 10¢ per 1,000 fresh rule checks
- Cached checks free
- No seat fees · $5 free usage credit
- MIT CLI · English project rules

**GitLab Duo Code Review Flow**4 managed-model reviews per GitLab Credit; on-demand credits are $1 each. Self-hosted models allow 5/credit.

Perch estimate: approximately 150 methods read, based on September–October 2026 check density. [Compare billing assumptions](https://codereviewguide.fyi/perch-vs-gitlab-duo-code-review-flow/#pricing).

**Run it locally**Check uncommitted files

**Keep the rule**Version it with the code

**Read each method**Within the selected parsed scope

**Pay for checks**No per-developer subscription

## Catch the fix an agent removes later.

A saved requirement makes a recurring mistake checkable. In this Perch capture from September 20, 2026, the same rule flags a missing guard and passes after the guard is restored.

### The regression

```
def refund(order, payment):
    payment.refund(order.total)
    order.status = "refunded"
    return order
```

1 check, 1 broken. Refunded orders cannot be refunded again.

### The guarded method

```
def refund(order, payment):
    if order.status == "refunded":
        return order
    payment.refund(order.total)
    order.status = "refunded"
    return order
```

1 check, nothing to report.

Source: [public order-service checkout.py at the linked commit](https://github.com/lakeday-org/perch/blob/4af67af46d76ac99398d61c7ad0a45441760d4dc/test/fixtures/order-service/checkout.py). The captured standalone file is refund.py. [Perch command output and timestamp](https://codereviewguide.fyi/perch-vs-gitlab-duo-code-review-flow/refund-capture.json). This saved-rule demonstration does not measure GitLab Duo Code Review Flow's detection rate.

## Perch vs GitLab Duo Code Review Flow: what your team runs.

Perch turns project behavior into focused checks that agents can run before committing. Use these differences to choose the review workflow and billing model your team needs.

Published Perch capabilities and GitLab Duo Code Review Flow documentation, reviewed 2026-10-14

| Capability | Perch | GitLab Duo Code Review Flow |
| --- | --- | --- |
| Billing | 10¢ per 1,000 fresh rule checks. Cached checks free. No seat fees. | 4 managed-model reviews per GitLab Credit; on-demand credits are $1 each. Self-hosted models allow 5/credit.[Vendor documentation ↗](https://docs.gitlab.com/subscriptions/gitlab_credits/) |
| Before commit | perch check reads the files on disk, including uncommitted edits. | GitLab merge-request flow; standalone local review was not verified.[Vendor documentation ↗](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/code_review/) |
| Custom requirements | English ensure rules in perch.yaml: project, file or method scope. No paid custom-rule tier. | Custom review instructions with repository context.[Vendor documentation ↗](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/code_review/) |
| Coverage | Each parsed non-test application method in the selected scan scope is read, with caller and callee context. No method-count cap. | Agentic merge-request review using cross-file context.[Vendor documentation ↗](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/code_review/) |
| Open source | MIT-licensed CLI. Hosted model analysis is a paid service. | Commercial agent platform feature.[Vendor documentation ↗](https://docs.gitlab.com/subscriptions/gitlab_credits/) |

## GitLab Duo comparison for behavior checks before a merge request

GitLab's managed on-demand review rate can be below Perch's mid-sized estimate. Perch adds a local semantic-rule workflow before the merge request: select a project requirement, check the edited file, and reuse the same rule in CI across Git providers.

## Review before committing

GitLab Duo Code Review Flow: GitLab merge-request flow; standalone local review was not verified. [GitLab Duo Code Review Flow workflow documentation](https://docs.gitlab.com/subscriptions/gitlab_credits/).

Perch reads the current working file with `perch check`. For a known requirement, select its rule name and method instead of requesting another broad review. A local CLI describes where the command runs; Perch sends relevant source to hosted TypeSafe models for analysis.

## How do saved requirements differ?

GitLab Duo Code Review Flow: Custom review instructions with repository context. [GitLab Duo Code Review Flow rule documentation](https://docs.gitlab.com/subscriptions/gitlab_credits/).

Perch stores English `ensure` rules in `perch.yaml` or `.perch/rules/`. Project, file and method scopes determine what is checked. Run the named check after an edit and after the repair; a rule finding can fail the command and a CI gate. [Perch rules](https://github.com/lakeday-org/perch/blob/main/docs/rules.md) · [Working-file checks](https://github.com/lakeday-org/perch/blob/main/docs/check.md).

## What does the review bill depend on?

[Compare GitLab Duo Code Review Flow's billing unit and Perch's usage estimate](https://reviewpricing.fyi/gitlab-duo-code-review-flow/)

## Is the CLI open source and offline?

GitLab Duo Code Review Flow: Commercial agent platform feature. [GitLab Duo Code Review Flow product or license source](https://docs.gitlab.com/subscriptions/gitlab_credits/).

Perch’s CLI is MIT-licensed; hosted model inference is a separate paid service included in its published check rate. It does not run the model offline. Unchanged requests can reuse cached answers for free. Fresh judgments can vary, and a passing requirement check does not prove application correctness. [Perch MIT license](https://github.com/lakeday-org/perch/blob/main/LICENSE).

## When does GitLab Duo Code Review Flow fit the workflow?

GitLab Duo Code Review Flow uses cross-file merge-request context. Its on-demand review rate can be below Perch’s mid-sized estimate; Perch’s distinction here is the local, separately selected requirement check.

## Estimate the review bill

[Perch and GitLab Duo Code Review Flow: pricing, allowances and workload calculator](https://reviewpricing.fyi/gitlab-duo-code-review-flow/)

## Make the agent check its next edit.

### Install the CLI

```
npm install -g @lakeday/perch
```

[Perch installation and quick start](https://github.com/lakeday-org/perch/blob/main/docs/install.md)

### Save a behavior rule

```
perch rules add refund-once \
  --where refund.py --each method \
  --ensure "Refunded orders cannot be refunded again."
```

The captured rule checks the requirement shown above. [Rule syntax and selectors](https://github.com/lakeday-org/perch/blob/main/docs/rules.md)

### Check the working file

```
perch check refund.py::refund --rules refund-once
```

Run the check after an edit and after the fix. [Working-tree check documentation](https://github.com/lakeday-org/perch/blob/main/docs/check.md)

Use [perch scan](https://github.com/lakeday-org/perch/blob/main/docs/scan.md) for repository code at Git HEAD and [changed-code CI checks](https://github.com/lakeday-org/perch/blob/main/docs/ci.md) for pull requests. New model judgments can vary. Repeatability comes from cached answers for unchanged requests; a pass does not prove application correctness.

## Keep your project requirements checkable.

Choose Perch when you want an MIT CLI, English behavior rules and usage pricing that stays independent of team size. Give your coding agent a saved check it can run after every relevant edit.

[Install Perch](https://github.com/lakeday-org/perch/blob/main/docs/install.md)

## Sources and price details

Published by Perch. Vendor facts were reviewed on 2026-10-14; plans and allowances can change. Vendor marks belong to their owners.

- [docs.gitlab.com/subscriptions/gitlab_credits/](https://docs.gitlab.com/subscriptions/gitlab_credits/)
- [docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/code_review/](https://docs.gitlab.com/user/duo_agent_platform/flows/foundational_flows/code_review/)

Perch sources and example arithmetic

- [Public CLI source](https://github.com/lakeday-org/perch) · [MIT license](https://github.com/lakeday-org/perch/blob/main/LICENSE)
- [English rules](https://github.com/lakeday-org/perch/blob/main/docs/rules.md) · [Working-tree checks](https://github.com/lakeday-org/perch/blob/main/docs/check.md) · [Method scope and context](https://github.com/lakeday-org/perch/blob/main/docs/scanning.md)
- [Published Perch rate and estimate assumptions](https://codereviewguide.fyi/perch-vs-gitlab-duo-code-review-flow/pricing-evidence.json)
- [September 20, 2026 refund-rule capture](https://codereviewguide.fyi/perch-vs-gitlab-duo-code-review-flow/refund-capture.json)

## Compare GitLab Duo Code Review Flow with other review tools

- [CodeRabbit vs GitLab Duo Code Review Flow](https://codereviewguide.fyi/coderabbit-vs-gitlab-duo-code-review-flow/)

[Full head-to-head library and tool selector](https://codereviewguide.fyi/tool-comparisons/)

**Code Review Guide**

Tools & workflows.

Published by Perch · © 2026 Verglas LLC. Code Review Guide is a Perch publication.

Perch’s MIT license covers the CLI; hosted model analysis is a paid service. Relevant source is sent to the configured model service.

[Perch CLI MIT license](https://github.com/lakeday-org/perch/blob/main/LICENSE) · [Article text](https://codereviewguide.fyi/perch-vs-gitlab-duo-code-review-flow/index.md) · [Resource index](https://codereviewguide.fyi/llms.txt)
