Hey everyone! Today we're launching HAR HQ.
It's built on top of HAR, our open-source, agent-agnostic framework for running a fleet of coding agents in parallel. HAR HQ takes that same foundation and adds the visibility, control, and governance teams need to run agents safely across a whole org.
One dashboard for every agent, run, and preview URL, live. Every token and dollar attributed back to a ticket and a person. A stage funnel that shows exactly where agent work passes and where it drops off.
Agents move fast. HAR HQ makes sure everything they ship clears your gates first, from tests and secret scans to SAST, license checks, and policy validation.
Hey Product Hunt! 👋
Kerno v1 is our biggest upgrade yet, a complete AI Backend QA Engineer. It maps your codebase, learns how your app works, and gets sharper with every run. It now tests your whole backend, from full user flows and live security checks to background jobs, queues, MCP servers and AWS serverless. Bugs get caught inside your agent's session before you open a PR, then re-checked on every PR in CI.
Quick context if you haven't seen us before. Agents write code really fast now. Knowing whether that code actually works is the slow part. Most teams find out hours later in CI, or worse, after it's merged. Then someone has to go back, figure out what broke, and redo it.
Kerno tests your backend while your agent is still working on it. It runs your app locally with your real database, queues and services, so it catches the bugs that only show up when the code actually runs. Your agent gets the failure right away and fixes it in the same session.
Here's what we added in v1:
🛒 User flows. Tell your agent "test a customer paying for a product" and Kerno goes through each step and checks the result at the end. After you change something, it re-runs the flows your change touched.
🔐 Security testing. Kerno tries things like accessing another user's data against your running app. If an endpoint lets it through, or leaks a stack trace, the test fails.
⚙️ Background jobs. Celery, Graphile Worker, Kafka, RabbitMQ, SQS and Azure Service Bus. Kerno runs the job on a real worker and checks what it wrote and what it sent.
🤖 MCP servers. Kerno tests every tool your server exposes, including ones behind auth.
☁️ AWS serverless. SAM and Serverless Framework apps, including Lambdas triggered by SQS, DynamoDB and Cognito sign-in.
🧠 It learns your app. The first time, Kerno figures out how to sign in and how to set up test data. It saves that in your repo so you can read it and fix it if it got something wrong.
✅ CI. Your tests are committed to the repo, and our GitHub Action re-runs them on every PR.
You can try it here 👉 https://portal.kerno.io/register
It's free for 30 test runs a month, no credit card. Open source projects get it free.
I'd love to hear what you think, and what the worst bug an agent has snuck into your backend is 😅 I'll be here all day!
Congrats on the launch!
we had a store that didn't clear on logout. so, next person(other user) signing in saw the previous users report. nothing errored, just wrong data on screen.
where does the list of security attempts come from?? none of us would have thought to test that one.
anyway, congrats again 🚀🚀
@seenew Thx Shinyoo!
That's a sneaky one 😅Those are the worst because everything looks fine.
The security checks come from the code itself. When you ask for security tests, Kerno reads the endpoint (its inputs, how auth works, what data it touches) and checks it against the OWASP API Top 10 categories, things like broken object level authorization, injection, mass assignment and SSRF. Then it only writes tests for the ones that actually apply to that endpoint.
One small caveat, Kerno works on the backend. In your case it would catch the API returning user A's report to user B. A store that sticks around in the browser after logout lives on the frontend side.
Been looking out for something like this for a long time!
@klaas_ardinois1 Thx Klass! Would love to get your feedback once you give it a try :)
Looks sick!!
@gtmnerd Thanks Shane :D