Back to docs
referenceRepo admin10 min read

Configuration

Every per-repo setting — what it does, the default, and when to change it.

Per-repo settings live at /dashboard/repos/[id] under the Settings tab. Saving the form writes a single JSON patch — only the keys you change are stored, so defaults can evolve without migrating old rows. Changes take effect on the next review event for that repo. Reviews already in flight finish under the configuration that existed when they started; they are not retroactively retuned.

Tier 1 — Output shape

Controls what makes it from the AI reviewer's findings out to a posted comment. These knobs are the fastest lever for tuning signal-to-noise.

SettingDefaultRange / OptionsEffect
minConfidence71–10Confidence floor for findings. Below this, the finding is dropped before posting.
minConfidenceAsymmetry51–10Lower confidence floor applied specifically to the asymmetry category, where false positives are cheaper than misses.
maxFindingsPerPrnull (uncapped)1–100 or nullHard cap on inline comments posted per PR. Highest-priority findings win when the cap binds.
maxFindingsPerFilenull (uncapped)1–50 or nullHard cap on inline comments posted per file in a single review.
enabledCategoriesallsubset of: bug, security, performance, style, correctness, testing, docs, asymmetry, otherCategories outside the allowlist are dropped before posting.
severityFloornitpickcritical | warning | suggestion | nitpickDrops findings below this severity. Default posts everything.
summaryPipelineEnabledtruebooleanRuns the fast PR-summary pipeline alongside the deep review. Disabling skips the description block entirely.
autoResolveThreadstruebooleanAuto-collapses GitHub review threads when their underlying issue is detected as fixed.
postFixedReplytruebooleanPosts an acknowledgement reply on threads whose issue was fixed in the latest push.
updatePrSummarytruebooleanUpserts the AI summary block in the PR description (between the marker comments).
includeAgentPrompttruebooleanAppends a copy-pasteable agent prompt to each finding so a coding agent can apply the fix.
includeLearningsAttributiontruebooleanCites the learning that informed a finding inline, when one applied.

Tier 2 — Triggers and scope

Controls which PRs and which branches get reviewed at all. Use these to keep noisy or out-of-scope branches out of the review queue.

SettingDefaultRange / OptionsEffect
triggerEvents[opened, synchronize]subset of: opened, synchronize, ready_for_reviewGitHub PR events that fire a review. Add ready_for_review to also review when a draft is marked ready.
skipDraftPrsfalsebooleanSkip reviews on draft PRs entirely. Pairs well with adding ready_for_review to triggerEvents.
skipBotPrsfalsebooleanSkip reviews when the PR author is a GitHub App or bot account.
branchAllowlist[] (all branches)string[] of glob patternsIf non-empty, only PRs targeting a base branch matching one of the patterns are reviewed. Empty array means every base branch is reviewed.
maxDiffCharsnull (uncapped)1,000–1,000,000 or nullWhen set, trailing files are dropped from the diff once the running character count exceeds this cap. The review still runs on the kept files (the dropped ones are not reviewed). Useful for capping cost on huge auto-generated PRs without skipping them entirely.
mentionEnabledtruebooleanAllows on-demand reviews via @mention in PR comments. Disable to make reviews strictly event-driven.
checkRerunEnabledtruebooleanAllows the GitHub Check Run's Re-run button to fire a fresh review on the current head SHA.

Tier 3 — Learning and memory

Controls per-repo learning: capturing developer feedback on prior comments, retrieving relevant lessons on future reviews, and the floor at which a stored memory is considered relevant.

SettingDefaultRange / OptionsEffect
learningsEnabledtruebooleanMaster switch for per-repo learning. When off, no learnings are fetched or injected during reviews.
maxLearningsInjected501–200Cap on the number of stored learnings included in a single review's context.
feedbackCaptureEnabledtruebooleanCaptures developer replies on review comments and routes them through the feedback pipeline.
storedFeedbackClasses[learning, correction]subset of: learning, correction, disagreement, question, acknowledgementWhich classes of captured feedback are persisted as memories. Defaults to the two highest-signal classes.

Tier 4 — Cost and performance

Controls how much work the AI reviewer does per PR. The defaults are sized for thorough reviews on medium PRs; tighten these on repos with very fast iteration cycles or strict latency budgets.

SettingDefaultRange / OptionsEffect
maxToolRounds41–20Maximum agentic tool-use rounds the AI reviewer may take per file group. Lower values are faster and cheaper at the cost of investigation depth.
enrichmentEnabledtruebooleanPulls extra context (full file contents, adjacent tests, dependency graph) before the review fan-out.
enrichmentDepth20–3How many import-graph hops the enrichment step follows from each changed file. 0 disables dependency pulling.
projectRulesEnabledtruebooleanLoads project-rule files (.cursorrules, ESLint config, tsconfig, and similar conventions) from the target repo into the review context.
checkRunEnabledtruebooleanCreates and updates a GitHub Check Run for each review. Disabling hides the in-progress and completion signals from the PR's checks panel.
skipTrivialFilestruebooleanSkips lockfiles, .md, .env, package.json, and deletion-only files where deep review adds no value.
briefingEnabledtruebooleanRuns a one-shot PR briefing pass before fan-out, surfacing risk areas and conventions to each per-file reviewer.
verifyReviewEnabledtruebooleanRuns a verification pass over emitted findings before posting. Catches obvious false positives at the cost of one extra call per review.

Common trade-offs

Tuning starting points for the most common complaints.

  • Too many comments — Raise minConfidence (try 8 or 9), set maxFindingsPerPr to a hard cap (10–20), and narrow enabledCategories to bug, security, correctness. Consider raising severityFloor to warning so suggestions and nitpicks stop posting.
  • Missing real bugs — Lower minConfidence (try 5 or 6), confirm bug and security are in enabledCategories, keep severityFloor at nitpick or suggestion, and leave verifyReviewEnabled on so high-confidence findings survive verification.
  • Reviews are too slow — Drop enrichmentDepth to 1 or 0, drop maxToolRounds to 2, disable verifyReviewEnabled, and consider disabling briefingEnabled. Each removed pass cuts wall time roughly proportional to its share of the pipeline.
  • Dashboard is full of huge auto-generated PRs — Set maxDiffChars to a sensible cap (e.g. 200000) so vendored or generated diffs are skipped, and set skipBotPrs to true if dependency-bot PRs dominate the queue.

Storage and validation

Settings are stored as a partial patch on the repo_settings row. Omitted keys mean 'use the current default' — defaults can change in future product updates without migrating saved rows. The form validates every value on save; out-of-range numbers, unknown enum values, and malformed glob patterns are rejected before they reach the pipeline.