> ## Documentation Index
> Fetch the complete documentation index at: https://personal-ce79cb71.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# BugViper Review Pipeline Settings and Tuning Options

> Tune BugViper's review pipeline: choose Normal or Deep mode, set sandbox timeout, control concurrency, and adjust the confidence floor for inline comments.

These settings control how BugViper's review pipeline behaves — from which mode runs to how aggressively it filters low-confidence findings. The defaults are sensible for most teams, but tuning these variables lets you trade off review depth, speed, and cost to fit your workflow.

## Review Mode

<ParamField path="USE_DEEPAGENT_REVIEW" type="string" default="true">
  Set to `true` to enable the AI-powered DeepAgent review. When `true`, BugViper
  clones the repository into an E2B sandbox, builds a call graph, and runs the
  AI review pipeline. Set to `false` to disable AI review entirely (only static
  analysis linters will run).
</ParamField>

<ParamField path="DEEPAGENT_REVIEW_MODE" type="string" default="normal">
  Controls which review mode runs when a full AI review is triggered. Accepted
  values:

  * **`normal`** — A single generalist agent reviews batches of four files
    sequentially. This is the fastest mode and works well for most everyday PRs.
  * **`deep`** — Three specialized sub-agents (correctness, security, and
    performance) run in parallel across batches of two files each, with each
    agent running in its own isolated E2B container. Use this for large or
    high-stakes PRs where thoroughness matters more than speed.
</ParamField>

<ParamField path="USE_GENERALIST_SUBAGENT" type="string" default="true">
  When `true`, Deep mode includes a generalist agent alongside the three
  specialist sub-agents. The generalist catches issues that don't fall neatly
  into the correctness, security, or performance categories.
</ParamField>

## Sandbox Settings

BugViper uses [E2B](https://e2b.dev/) to run code review inside secure, isolated cloud sandboxes. The variables below control sandbox lifetime and concurrency.

<ParamField path="E2B_API_KEY" type="string" required>
  Your E2B API key. This is required for any AI-powered review to run. Obtain
  your key from the [E2B dashboard](https://e2b.dev/). Without this key,
  BugViper cannot spin up sandboxes and the AI review pipeline will not execute.
</ParamField>

<ParamField path="DEEPAGENT_SANDBOX_TIMEOUT" type="number" default="1800">
  The maximum lifetime of a single E2B sandbox, in seconds. The default is
  `1800` (30 minutes). If a review is still running when the timeout is reached,
  the sandbox is terminated. Increase this value for very large PRs or
  repositories that take a long time to clone and index.
</ParamField>

<ParamField path="DEEPAGENT_MAX_TOOL_ROUNDS" type="number" default="40">
  The maximum number of tool calls an agent is allowed to make in a single
  review round. Increasing this allows agents to explore more of the codebase
  but also increases latency and token usage. Decrease it to cap costs on large
  PRs.
</ParamField>

<ParamField path="MAX_CONCURRENT_SANDBOXES" type="number" default="4">
  The maximum number of E2B sandboxes that can run simultaneously across all
  active reviews. Higher values allow more parallel reviews but increase E2B API
  usage and cost proportionally.
</ParamField>

<Warning>
  Increasing `MAX_CONCURRENT_SANDBOXES` directly increases your E2B API costs.
  Each active sandbox counts against your E2B plan limits. Start with the
  default of `4` and raise it only if you have high PR volume and have verified
  your E2B plan supports the additional concurrency.
</Warning>

## Verifier / Judge Settings

After all review agents have run, the verifier (judge) pass validates every finding against the actual PR diff. These settings control how much context the verifier reads and where the confidence threshold sits.

<ParamField path="JUDGE_READ_RADIUS" type="number" default="15">
  The number of lines of context the verifier reads above and below each
  reported finding when validating it against the source file. A larger radius
  gives the judge more context for borderline cases but increases token usage per
  finding.
</ParamField>

<ParamField path="JUDGE_READ_MAX" type="number" default="60">
  The maximum total number of lines the verifier will read for any single
  finding, regardless of `JUDGE_READ_RADIUS`. This cap prevents runaway token
  usage on findings that fall near the top or bottom of very large files.
</ParamField>

<ParamField path="NITPICK_CONFIDENCE_FLOOR" type="number" default="7">
  The confidence score (on a scale of 1–10) below which a finding is labeled
  `nitpick` rather than `valid`. Only `valid` findings are posted as inline
  comments on the PR — `nitpick` findings are recorded in the dashboard but
  suppressed from GitHub. The default of `7` means any finding the judge scores
  at 6 or below becomes a nitpick. Lower this value to post more inline
  comments; raise it to post fewer, higher-confidence ones.
</ParamField>

## PR Description Update

<ParamField path="ENABLE_PR_DESCRIPTION_UPDATE" type="string" default="true">
  When set to `true`, BugViper appends a review summary to the PR description
  after each full review completes. The summary includes a walkthrough of changed
  files and a high-level overview of findings. Set to `false` to disable this
  behaviour and only post the summary as a PR review comment.
</ParamField>
