Skip to main content

Is Gryndel worth it?

Sooner or later someone asks "is Gryndel worth it?". This guide shows which numbers answer that, where to find them, and a short monthly routine that keeps the answer up to date and turns it into improvements.

Before you start: anyone in the workspace can open Reports and Costs. Acting on what you find (changing settings, rules or agents) needs a workspace admin.

What "worth it" meansโ€‹

Gryndel's value is problems found before merge, at a cost in money and in people's attention. Measure all three:

QuestionWhereNumber
Does it find things people act on?ReportsAcceptance, Fixes applied
Does it waste people's time?ReportsRejected (dismissed and disputed), Left open
Does it find serious problems?Reports, Acceptance by โ†’ SeverityAccepted P0 and P1 findings
What does it cost?CostsTotal cost for the period
Does it slow merges down?Reports, UsageReview time (median and 90%)

How Gryndel decides a finding was usefulโ€‹

Gryndel reads each finding's thread back from GitLab or GitHub about every 10 minutes while the merge request (GitLab) or pull request (GitHub) is open, and once more when it's merged or closed:

OutcomeWhat happenedCounts as
Fix appliedThe suggested fix was applied. GitLab only: GitHub doesn't report applied suggestions, so there a committed suggestion counts as Resolved once its thread is resolved.Accepted
ResolvedThe thread was resolved, by a person or by @gryndel check.Accepted
DismissedSomeone replied @gryndel ignore this.Rejected
DisputedMore ๐Ÿ‘Ž than ๐Ÿ‘ on the finding.Rejected
Left openMerged or closed with the thread unresolved.Decided, not accepted
OpenThe merge or pull request is still open.Not counted yet

Acceptance is accepted findings out of all decided ones. Keep its limits in mind:

  • A resolved thread usually means someone fixed the problem, but people sometimes resolve threads just to tidy up.
  • Left open is ambiguous: the finding may have been ignored, or fixed without anyone resolving the thread.
  • Recent weeks are incomplete, because findings on open merge or pull requests aren't counted yet.
  • On GitHub, Fixes applied stays at zero; compare GitHub repositories by Acceptance instead.

These numbers are only as good as the team's habits. Ask developers to respond to every thread; see Respond to Gryndel's findings.

The monthly reviewโ€‹

Put 30 minutes in the calendar once a month, with whoever owns Gryndel and one or two developers.

1. Collect the numbersโ€‹

  1. Open Reports and choose 30 days. Click Refresh to read the latest outcomes from GitLab or GitHub.
  2. Write down Acceptance, Fixes applied, Rejected, Left open ยท still open, and from Usage: Reviews, Findings posted and Review time.
  3. In Acceptance by, choose Severity and note how many P0 and P1 findings were accepted.
  4. Open Costs, choose 30 days, and note the total.
  5. Optional: on Reports, click Export CSV under Findings to keep the list of findings and outcomes for the month.

Keep the numbers in a simple table, one row per month, so you can see trends.

2. Work out the ratiosโ€‹

RatioHowTells you
Cost per reviewCost รท ReviewsWhether reviews are getting more or less expensive
Cost per accepted findingCost รท accepted findingsWhat one useful finding costs you
Serious problems caughtAccepted P0 + P1 findingsThe headline value: bugs that would otherwise have reached review or production

For example (illustrative numbers): a month with 400 reviews, 120 accepted findings, of which 15 were P0 or P1, and a cost of $60, is $0.15 per review, $0.50 per accepted finding, and 15 serious problems caught before merge. Compare that with what one production bug costs your team.

If your model provider has no prices set, Costs shows $0 for it. Enter prices in Model settings to get a real figure. A price you enter also applies to earlier usage.

3. Look for where it isn't workingโ€‹

On Reports, switch Acceptance by between Repository, Category and Agent.

You seeAction
One repository with low acceptanceTune that repository. See Make Gryndel quieter and more accurate.
One category mostly rejectedRaise the severity threshold, or write a rule saying not to report it.
One agent mostly rejectedCheck its Efficiency on Review agents and improve its prompt.
Many Left openRemind the team to respond to threads, or lower the comment level.
Failures under UsageFix the cause. See Investigate a review.
Review time going upSee Control costs.

4. Ask the peopleโ€‹

Numbers don't capture everything. Ask the developers present:

  • Which findings this month were genuinely useful?
  • Which were annoying?
  • Did Gryndel slow anyone down?

5. Decide one or two changesโ€‹

Pick at most two changes for next month, such as a new rule, a different comment level, or a cheaper model for one agent. Write down what you changed and when, so next month you can tell whether it helped.

Comparing teamsโ€‹

If you have several workspaces, All workspaces compares cost, reviews, failures and findings across them, and exports the comparison with Export CSV. Acceptance is per workspace, on each workspace's own Reports page.

Signs it's working, and signs it isn'tโ€‹

HealthyWorth a closer look
Acceptance is steady or risingAcceptance falling month after month
Accepted P0 and P1 findings most monthsMostly P2 findings accepted, few serious ones
Few disputed findingsMany disputed findings, or developers asking to turn it off
Cost per review stableCost per review rising without a reason
Reviews finish before people start human reviewReviews routinely finish after the merge

No accepted P0 findings in a month isn't necessarily bad: it may mean the code was good. Look at the trend over several months, not one.