New reportThe Impact of AI on Code Quality, 2026Read the report →
Get started
Kerno AuditAudit your codebase for quality gaps introduced by AI, and feed the lessons back to your agents.Terminalnpm install -g @kerno/clikerno audit
Kerno RunRun every agent session through your org’s quality, security and compliance gates.Terminalnpm install -g @osfactory/harhar onboard
Kerno ValidateValidate your critical flows to catch runtime backend bugs and security issues before they merge.Terminalnpm install -g @kerno/clikerno init
EnterprisePricing
Quality control plane for agentic engineering

Less rework,
fewer tokens,
better code.

Stop your agents from repeating the same mistakes, enforce your team’s quality standards, and catch runtime backend bugs and security issues in every agent session.

Run a free audit of your codebase
npm install -g @kerno/clikerno audit
14-day free trial · No credit card requiredRead the docs →
Runs in your agent loop01Spec02Code03Test
Integrates with your CI04Review & CI
Quality · kerno

Audit

kerno⌄Period A1 Sep 2025 – 31 Jan 2026Period B1 Feb 2026 – 5 Nov 2026

AI adoption: Feb 2026 · Figures read Period A → Period B. Green moved the better way, amber the worse way.

Quality score
90

was 71 in 1 Sept 2025 – 31 Jan 2026

Healthy Improving · +20
Reliability 91 → 96+5
Maintainability 93 → 99+6
Test cover 28 → 77+49
PR size
63 → 299 +375%
Median time to merge
35m → 51m +47%
Rework
49% → 57% +8 pts
Complexity / 1K lines
10.4 → 6.0 −42%
Throughput
34.3 → 142.2 +314%
Code review
Human55% → 24% −31 ptsAutomated0% → 81% +81 pts
How the codebase grew, module by module ComplexityReworkBugs
Nov 2026With AI agents
▶Sept 2025Nov 2026
Reliability & maintainability
Reliability risk
8.8% → 3.5% −5 pts
Functions pushed past CC 20
6 → 37 +517%
Maintainability risk
7% → 1.3% −6 pts
Median cyclomatic delta
±0 → +2 +2
Complexity per 1,000 lines
excess complexity per KLOCForecast95% range┆ AI adoption
151050-5
ABForecast
Sept 2025Dec 2025Mar 2026Jun 2026Sept 2026

1.6 by May 2027 at the current rate (−0.71 a month; 95% range −3.9–7.1).

Reimplementations

200.0 confirmed as duplicates or reimplementations, from 550 candidate pairs.

  • ImplementationService.executeAgentreimplementation…/ImplementationService.kt vs …/AgentRunner.kt1 Dec 2025›
  • DbDetails.extractFromQueryParamsduplicate…/DatabaseRepository.kt vs …/DbDetails.kt17 Dec 2025›
  • EndpointsService.getCodeContextForreimplementation…/EndpointsService.kt vs …/CodeContext.kt7 Jan 2026›
  • YamlEditTool.parseValueduplicate…/YamlEditTool.kt vs …/YamlValues.kt19 Jan 2026›
Review and merge
Human review
54.9% → 23.7% −31 pts
Automated review
0% → 81.3% +81 pts
Median time to merge
35m → 51m +47%
Slowest quarter waits
4.8h → 6.5h +35%
Time to merge
Median time to merge┆ AI adoption
16h12h8h4h0
AB
Sept 2025Dec 2025Mar 2026Jun 2026Sept 2026
Human vs automated review
Human reviewAutomated review┆ AI adoption
100%75%50%25%0%
AB
Sept 2025Dec 2025Mar 2026Jun 2026Sept 2026
Rework
Commits that rewrite recent work
48.9% → 57.1% +8 pts
Days until first rewrite
3.1d → 3.8d +25%
Repair : extension
11.5% → 14.6% +3 pts
Why later changes touched earlier ones
Period A17 judged reworked commits
1 repair · 6%3 extension · 18%13 unrelated · 76%
Period B68 judged reworked commits
8 repair · 12%22 extension · 32%38 unrelated · 56%
Reported separately Sweeps 16 → 53Reverts 0 → 5Period totals
Churn and waste

Code rewritten within 90 days. Extensions are iteration; repairs are waste.

Churn
21.8% → 20.5% −1 pts
Waste
0.6% → 0.8% ±0 pts
Code retained
35,881 → 135,955 +279%
Test cover
API routes with a test
26.7% → 30.8% +4 pts
Untested API routes
11 → 18 +64%
Code changes with tests
27.8% → 76.8% +49 pts
API routes, tested and not
With a testNo test┆ AI adoption
36271890
AB
Sept 2025Dec 2025Mar 2026Jun 2026Sept 2026
The suite
API routes
15 → 26
Kerno endpoint tests
— → 67
Unit test files
60 → 1,034
Hotspots with no test 3 of 50
  • …/agent/AgentApp.kt96 edits
  • …/routes/ScenarioRoutes.kt53 edits
  • …/routes/IndexRoutes.kt25 edits
Commits Period · All⌄Attribution⌄Rework⌄Sweep⌄Revert⌄
DateShaAuthorSubjectLinesAIComplexity Δ
5 Nov 202610e9ff1dependabot[bot]deps: bump amqplib from 2.2.0 to 2.2.1+10 −10Unknown—
5 Nov 20263006f97Konstantin[BE-3317] Port the remaining MCP suite fixes+388 −195Unknown+7
5 Nov 20261fceddbDiogoBE-3695: report a Sentry release+44 −0AI0
5 Nov 202610c4202MaximilianoBE-3369: report a cancelled re-check as cancelled+213 −10AI+3
4 Nov 2026b245108Konstantinfix(BE-2871): keep endpoint-test preconditions read-only+296 −27AI+3
4 Nov 202634dd2f7KonstantinBE-3110: report a cancelled run as cancelled+87 −10AI+2
By repository
RepositoryDetected adoptionQuality scorePR sizeReworkComplexity / 1kHuman reviewMedian time to merge
kernoFeb 202671 → 90 Healthy63 → 29949% → 57%10.4 → 6.055% → 24%35m → 51m
kerno-backendFeb 202669 → 89 Healthy18 → 18634% → 27%1.3 → 0.538% → 10%16m → 23m
kerno-frontendFeb 202674 → 72 Watch70 → 14958% → 63%5.5 → 11.469% → 8%2.1h → 23m
Slots · kerno

Slot 1 Active

agent/refunds · Own worktree, ports and database · Claude Code · started 4m ago

Pipeline · execution order8 of 8 stages passed
formatPrettier · 9.3s
lintESLint · 14s
typechecktsc · 7.2s
buildCompile & bundle · 22s
unit-testsVitest · 31s
docker-buildDocker build · 383ms
browser-e2ePlaywright · 1m 45s
kerno-validateKerno Validate · 1m 48s
Verify history · 5Pick a run to see it on the pipeline
ResultChangeStopped atDurationWhen
PassedKeep partial refunds partial b682d434—4m 12snow
FailedAdd partial refunds to POST /refunds 2476f16fbrowser-e2e3m 40s12m ago
PassedRefund webhooks for the ledger 0d2b5e10—4m 05s1d ago
FailedCap refunds at the amount paid 5e0f8b19unit-tests1m 12s2d ago
PassedRetry failed refund webhooks 9c41e7a2—3m 58s2d ago
Runs · agent/refunds

Runs

Every run on your code, and what it found.

kerno⌄agent/refunds⌄
Runs
7
Baseline created
0
Passed
686%
With diffs
114%
All 7Baseline Created 0Passed 6With diffs 1
⌕ Search runsFilter⌄Columns⌄
KindFlow / Entry pointResultRun type
FlowA customer refunds part of a paid order1 diff 7 of 8 tests unchangedValidation
HTTPPOST /refundsPassed 6 of 6 tests unchangedValidation
HTTPGET /orders/{id}Passed 4 of 4 tests unchangedValidation
MCPrefund_orderPassed 5 of 5 tests unchangedValidation
HTTPGET /refunds/{id}Passed 4 of 4 tests unchangedValidation
HTTPPOST /orders/{id}/cancelPassed 7 of 7 tests unchangedValidation
FlowAn admin approves a large refundPassed 5 of 5 tests unchangedValidation
Showing 1-7 of 7Page 1 of 1 «‹›»
Runs › kerno › Pull request #482
CI run · Add refund limits

Pull request #482 Passed

Opened by Claude Code · checks run for every author
Trigger
Your CI
Branch
agent/refunds
Into
main
Tests
216 / 216
Result
Passed
Diffs 0Updated 0New 0Removed 0Unchanged 216Blocked 0
Latest testsKindChecks
A customer refunds part of a paid orderFlow8 passed ✓
POST /refunds · amount over paidHTTP6 passed ✓
GET /orders/{id} · another customer’s orderHTTP4 passed ✓
refund_order · needs approvalMCP5 passed ✓
A customer checks out a cartFlow14 passed ✓
A new user signs up and verifiesFlow10 passed ✓
An admin approves a large refundFlow5 passed ✓
POST /orders/{id}/cancel · shipped orderHTTP7 passed ✓
PATCH /plans/{id} · downgrade mid-cycleHTTP9 passed ✓
search_orders · paginatesMCP4 passed ✓
get_order · scoped to callerMCP3 passed ✓
tools/list · schema matchesMCP6 passed ✓

Agents and engineers at these companies use Kerno

  • LetzAI
  • Zerve
  • Bewise
  • Neurobell
  • Pulsar
  • idlayer
  • Veritage
Hall 01Kerno Audit

Spot and fix AI quality gaps before they compound.

Audit your codebase for the complexity and mistakes AI introduces, and feed the lessons back to your team and agents.

01Track the impact of AI
Without Kerno

It’s hard to tell whether AI made your code better or worse, or where.

With Kerno Audit

See where quality slipped after AI adoption, in complexity, rework and test coverage.

Without Kerno

Agents repeat the same mistakes, and every round burns tokens and engineering time.

With Kerno Audit

See which code keeps getting reworked and why. Every lesson reaches your agents through MCP, so the mistakes stop coming back.

Without Kerno

Teams change how they work with agents, and it’s hard to tell whether it helped.

With Kerno Audit

Run it after each change and watch your quality score, reliability and test coverage move.

Explore Kerno Audit
KKerno Portal/Audit · kerno · Overview
Audit · kerno · AI adoption Feb 2026

Before and after AI adoption

Period A 1 Sep 2025 – 31 Jan 2026 · Period B 1 Feb 2026 – 5 Nov 2026
PR size
63 → 299 +375%
Median time to merge
35m → 51m +47%
Rework
49% → 57% +8 pts
Complexity / 1K lines
10.4 → 6.0 −42%
Throughput
34.3 → 142.2 +314%
Human review
55% → 24% −31 pts
KKerno Portal/Audit · kerno · Rework & Waste
Commits that rewrite recent work
48.9% → 57.1% +8 pts
Days until first rewrite
3.1d → 3.8d +25%
Repair : extension
11.5% → 14.6% +3 pts
Why later changes touched earlier ones
Period A17 judged reworked commits
1 repair · 6%3 extension · 18%13 unrelated · 76%
Period B68 judged reworked commits
8 repair · 12%22 extension · 32%38 unrelated · 56%
Written twice200 confirmed duplicates or reimplementations
KKerno Portal/Audit · kerno · Quality
Quality score
90

was 71 in Period A

HealthyImproving · +20
What moved since Period A
Period A → Period B
Reliability91 → 96+5
Maintainability93 → 99+6
Test cover28 → 77+49
Hall 02Kerno Run

Ship faster, with consistent quality across every agent and engineer.

Enforce your engineering policies, security controls and compliance requirements on every change, from one agent to a whole fleet.

01Enforce consistent standards
Without Kerno

Each agent and engineer runs a different set of checks, so quality varies from change to change.

With Kerno Run

Every agent works in its own isolated worktree and passes your deterministic gates, the same way every time, before it opens a pull request.

Without Kerno

Reviewers mostly rely on the agent’s own summary of what it did.

With Kerno Run

Every run keeps verifiable artifacts that show the agent did the work. When something goes wrong, full observability traces every agent, MCP and tool call, so you see what happened and what to fix.

Without Kerno

AI spend is hard to pin to a specific engineer, session or ticket, so you estimate where it went and guess where to focus.

With Kerno Run

See the cost of every ticket and task, so you know where the budget goes, what it delivered and where to focus next.

Explore Kerno Run
KKerno Portal/Sessions · kerno · Slot 1
Session · Slot 1 · Claude Code

Add partial refunds to POST /refunds Failed

agent/refunds · 2476f16f · 3m 40s
Pipeline
Execution order
formatPrettier9.3s
lintESLint14s
typechecktsc7.2s
buildCompile & bundle22s
unit-testsVitest31s
docker-buildDocker build383ms
browser-e2ePlaywright1m 45s
har logs
browser-e2e · 1 failed
  1. [browser-e2e] > kerno@0.1.0 test:e2e
  2. [browser-e2e] > playwright test --project=chromium
  3. [browser-e2e] Running 91 tests using 4 workers
  4. [browser-e2e] ✘ refunds.spec.ts:42 › partial refund keeps order paid
  5. [browser-e2e] Error: expect(locator).toHaveText(expected)
  6. [browser-e2e] Expected: "Partially refunded" Received: "Refunded"
  7. [browser-e2e] 1 failed · 90 passed (1m 45s)
KKerno Portal/Sessions · kerno · Run record
Run record · Slot 1 · Claude Code

Keep partial refunds partial Verified

agent/refunds · b682d434 · 4m 12s
Started by
Claude Code
Validated tree
7c1d9e04
Kept after teardown
Logs, artifacts, tree
Gates, in the order they ran
Evidence
format Prettier9.3sLog
lint ESLint14sLog
typecheck tsc7.2sLog
build Compile & bundle22sArtifacts
unit-tests Vitest31sReport
docker-build Docker build383msLog
browser-e2e Playwright1m 45sTrace
kerno-validate Kerno Validate1m 48sReport
KKerno Portal/Work units · kerno · by ticket
Total spend
$10,606.56
450 sessions · 7 repos
Traced to a ticket
99.6%
$10,566.63 of the spend
Cost / shipped ticket
$23.07
Gates passed, merged
TicketRunsGatesCost
PAY-412Add partial refunds to POST /refunds6Failed$41.20
TaskPartial amount on POST /refunds3Verified$22.10
TaskLedger entry for partial refunds2Verified$12.40
TaskKeep the rest of the order paid1Failed$6.70
SEC-118Scope receipts to the caller4Partial$27.30
PAY-409Cap refunds at the amount paid3Verified$18.75
PAY-415Refund webhooks for the ledger2Verified$9.60
PAY-417Show the refund reason on receipts1Verified$4.35
Hall 03Kerno Validate

Catch runtime backend bugs and security issues, locally inside the agent loop.

Test your critical flows and your entire backend surface against your real stack after every change, and keep every test up to date as your code evolves.

01Test your critical backend flows
Without Kerno

Unit tests pass on mocks, runtime bugs slip through CI into production, and fixing them there means expensive rework.

With Kerno Validate

Every backend flow a change touches runs across your APIs, services and real dependencies, and you see the exact step that broke.

Without Kerno

Agents change your backend faster than reviewers can check who can access what and how it fails.

With Kerno Validate

Your entire backend surface, from APIs and queue consumers to MCP tools, is tested for authorization, OWASP Top 10 issues, malformed input and error handling.

Without Kerno

Test suites fall behind as agents change the code, and coverage slowly erodes.

With Kerno Validate

Tests self-heal as your product changes, and flows are regenerated when behavior changes on purpose, so coverage keeps pace with every pull request.

Explore Kerno Validate
KKerno Portal/Runs · kerno · agent/refunds
Test run · Flow

A customer refunds part of a paid order

1 diff · 7 of 8 tests unchanged
1Sign inPOST /auth/login → 200 OK
2Place an order for $129.00POST /orders → 201 Created
3Pay for the orderPOST /payments → 201 Created
4Refund $40.00 of itPOST /refunds → 201 Created
5Read the order backGET /orders/{id} → 200 OK
Partial refund keeps the rest of the order paidFailed at step 5
Step 5 · Response body
BaselineNow "status": "partially_refunded", "status": "refunded", "refunded_total": 40.00, "refunded_total": 129.00, "balance_due": 89.00 "balance_due": 0.00
KKerno Portal/Runs · kerno · GET /refunds/{id}/receipt
Test run · HTTP · kerno

GET /refunds/{id}/receipt

1 suspected bug · baseline created for 6 tests
NewBaseline created · 6
⌄Another customer’s receiptSuspected bugAuthorization

Customer B asks for the receipt of customer A’s refund.

Expected403 Forbidden or 404 Not FoundActual200 OK with customer A’s receipt

Suspected bug. Kerno flagged this when it implemented the test, and matched the test to what the code did at the time.

Investigate with your agent
›Read your own receiptHappy Path
›Without signing inAuthentication
›Unknown refundNot Found
›Malformed refund idEdge Case
›Expired sessionAuthentication
KKerno Portal/Runs · kerno · Pull request #482
CI run · Add refund limits

Pull request #482 Passed

Opened by Claude Code · the same checks run for every author
Flows
32 / 32 passed

Critical flows, end to end

HTTP endpoints
148 / 148 passed

Every route, contract and edge case

MCP server
36 / 36 passed

Tools, schemas and permissions

Self-healed2 tests updated for the intended change
Hall 04Integrations

Works with your coding agents and agent factory.

Integrations
Drag the dialPick a card for details
Hall 05Enterprise

Built for enterprise security.

Run Kerno in your own cloud, keep your code inside your network, and sign in through the identity provider you already use.

  • Bring your own cloud
  • Runs on your machines
  • SAML SSO
  • Zero code retention
  • Bring your own cloud

    Self-host Kerno or deploy it in your own cloud account or VPC, so the agent, the gateway and your run metadata stay inside your infrastructure.

  • Runs on your machines

    The agent runs on your machines and indexes your repository locally. Only the code a task needs reaches the model, through Kerno’s gateway.

  • Zero code retention

    Your private code is never stored and never used for training. Every model provider we use is under a zero-data-retention agreement.

  • Encrypted end to end

    Data is encrypted in transit with TLS 1.2 and at rest with AES 256-bit encryption.

  • SSO and roles

    Sign in with SAML through your own identity provider, with Owner, Admin and Member roles.

  • Audit trail on every run

    Every run records who started it, what it checked and the exact code it validated.

Hall 06Resources

Research, guides and the leaders building with AI.

Hall 07Get started

Run a free audit of your codebase.

Terminal
npm install -g @kerno/clikerno audit
14-day free trial · No credit card requiredRead the docs →