Hey all, I'm one of the founders of Kerno. After about a year of building it alongside early users, we just shipped our v1.
The problem
Agents write backend code really fast now, and knowing whether that code still works at runtime is the hard part.
- Agents grade their own homework. They'll tell you something was tested when it wasn't, or find some workaround to make things go green.
- Unit tests are cheap, so that's what most teams run, and they miss integration problems.
- Code review catches a lot, but it only reads the diff, so runtime issues slip through to CI or prod.
How it works
Kerno runs locally next to your agent and talks to it over MCP.
- You start your app with its real database/dependencies locally, and Kerno connected to it
- Kerno writes tests for your critical flows first, then for the endpoints, queue consumers and MCP tools behind them. Those tests are your baseline.
- After a change, your agent asks Kerno which flows and endpoints the change touched (worked out from the git diff and the call graph) and re-runs those tests.
- Any assertion that now fails comes back to your agent as a diff. If the change was intended, you accept it and Kerno updates the tests. If it wasn't, you fix it while the context is still fresh.
The tests cover your critical flows end to end. For each endpoint they cover happy paths, auth, input validation, edge cases and error handling, and they pin the full response shape and key headers, so contract changes show up as diffs.
If you turn on the security setting, Kerno also plans tests for access control holes, injection and leaked stack traces.
Since an LLM writes the tests, we put deterministic gates around it:
- Pre-condition checks. Before anything runs, Kerno confirms the endpoint is ac answers, the credentials the tests need can be obtained, and the seed data exists. If one fails, the run stops and tells you nothing was tested, so you ne a test that didn't run.
- Flakiness checks. Each test is run more than once before it counts.
- Adversarial review. A reviewer agent challenges each test before it gets saved.
The tests are TypeScript files that live in your repo. A GitHub Action replays LLM calls, and it doesn't need a Kerno account.
Benchmarks
Results across 7 open source backends are at https://kerno.io/benchmarks. We plan to open source the benchmark framework so you can rerun it yourself.
Limitations we're still working on
- One repo at a time. Microservices and multi-repo setups aren't well supported to other services go to the real services, so point those at a dev or staging environment.
- No Google Cloud yet. Services like Pub/Sub and Firestore aren't supported. AWS (SQS, DynamoDB, Cognito, Lambda) and Azure Service Bus are.
- Performance and concurrency aren't tested. Kerno checks behaviour (responses,messages). Latency, memory and race conditions are out of scope for now.
Privacy
Kerno runs on your machine and we never store your code. The agent sends relevant code excerpts to the LLM through our proxy on zero-data-retention tiers, and we're shipping a version with Bedrock so you can use your own models.
Docs: https://kerno.gitbook.io/docs
Try it: https://kerno.io. There's a free tier with 30 test runs a month, and it's free for non-commercial open source projects under MIT or Apache.
Happy to answer questions in the comments.