For the complete documentation index, see llms.txt. This page is also available as Markdown.

How Kerno works

Understand how Kerno works, from indexing your codebase to validating code changes.

Kerno maps your codebase, builds a test environment around it, generates a validation suite, and runs that suite on every code change to detect what changed.

1

Index your codebase

Kerno parses every file and builds a SCIP-based dependency graph that maps every function, class, and endpoint to the code that produces it. The graph is stored locally and used to scope every validation to exactly the affected endpoints. See Codebase indexing.

2

Set up your test environment

Kerno analyzes your build files and generates a Dockerfile and Compose plan for your app and its real dependencies (databases, queues, caches), plus mocks for external services. See Environment setup.

3

Build a baseline of how your app behaves

Kerno generates test scenarios for each endpoint covering functional behavior, edge cases, error handling, and auth. It runs them against your live stack and captures the responses as the baseline. This is the reference point for every future validation. See Scenarios and baselines

4

Validate every change

When you change code, Kerno uses the dependency graph to detect the blast radius and re-runs only the affected scenarios. It compares responses against the baseline and surfaces any diffs. If the diff is intentional, accept it and Kerno updates the baseline. If it is not, fix your code and run validation again.

5

Maintain everything

As your codebase evolves, Kerno updates your environment, adds scenarios for new endpoints, retires stale ones, and heals tests when contracts change. Everything stays current without manual intervention.

Last updated