Autonomous AI SRE that prevents production SEVs.
An autonomous SRE control plane for the whole path a change takes: pre-commit, pre-production, and production.
When a SEV fires, Odonat names the commit that caused it and hands you a precise git revert, in under a minute, with the evidence to prove it was the right one.
No model anywhere in the decision path. Every rule is a comparison you can check by hand, and a test pins each one.
A compiled allowlist bounds what it may ever do. It will not open a pull request against your database unless you have said so.
One evidence record per decision. Re-derive any verdict yourself, months later, without asking us anything.
helm install odonat ./odonat -n odonat-system -f values.override.yamlSee how Odonat names the commit behind a P0 latency spike, and writes the revert.
p99 850ms→causal engine isolates 8f2a1b3→revert merged
Three views of the console. In the second, Odonat stops and asks a human.
A connection pool cut from 100 to 5 ships on a Friday afternoon and resolves in 8.4s. That is the easy case. The harder one is 81% confidence: below the threshold, so nothing executed and an engineer got a decision instead of an incident.
Odonat named the commit and cleared its own evidence bar. It still will not open the pull request, because this is a StatefulSet and you have not told it that databases may be reverted unattended. It stops and asks. This queue is what your on-call sees in Slack, with the same two buttons.
git_revert 8f2a1b3 --workload postgres --kind StatefulSeton the allowlist, propose-only by policyEnvoy Security Proxy: Enterprise Data Never Leaves Your VPC.
Every byte bound for the reasoning engine passes through an Envoy sidecar inside your cluster. Credentials and connection strings are replaced with fixed markers. Code structure and stack geometry pass through untouched, because that is the part the model actually reasons over.
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCY[HASH_AWS_KEY_0x21C8]postgres://admin:s3cr3t_p@db.internal:5432/payments[HASH_DB_CONN_0x9F41]user_email="navdeep@acme-corp.com"[HASH_PII_EMAIL_0x77B2]Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9[HASH_JWT_0x0E5A]pool_size: 5 // was 100pool_size: 5 // was 100at PaymentService.acquire (pool.go:184)at PaymentService.acquire (pool.go:184)The two highlighted rows are byte-identical on both sides. Anyone can redact a password; preserving code geometry while removing every secret is the part that makes the causal analysis possible at all.
When Odonat Refuses to Act.
Production is messy. If our causal engine cannot isolate a single culprit with ≥ 85% confidence, Odonat safely fails closed. We refuse to hallucinate or guess. Instead, the system immediately pages the human on-call via Slack with the candidates it considered and why it eliminated the rest.
Odonat is wrong
It reverts a commit that was not the cause.
You lose a deploy, not data. The allowlist contains only reversible operations: a wrong revert is undone by reverting the revert, through the same pull request flow, with the reasoning attached. It never touched a schema, a table or a namespace, because it cannot.
Odonat is down
The agent crashes, or you uninstall it mid-incident.
Nothing in your delivery path depends on it, because nothing in your delivery path calls it. Odonat sits beside production and polls Alertmanager; it is not in CI and not in the merge path. If the agent stops, alerts fire exactly as they did before you installed it and nobody is blocked. The failure mode is that you go back to finding the bad deploy by hand
The model provider is out
The upstream LLM is rate limited, degraded, or unreachable.
Nothing stops, because there is no model to be unavailable. Every stage (ingestion, correlation, the gates and the safety plane) is deterministic code with no inference call in it. There is no provider to be down, no rate limit to hit, and no behaviour that changes under you between one incident and the next.
What Odonat catches, and what it will never claim to.
An autonomous system that cannot state its own limits should not have write access to your production environment. Here are ours, in writing.
Odonat intercepts
- An alert that names a service, where one workload of that service rolled out in the last half hour
- Which of several changed services could have caused it, by eliminating everything that shipped after the symptom started
- Deployments, DaemonSets and Argo Rollouts, where reverting the commit restores the previous spec
- A commit already reverted, which is adopted rather than opened a second time
Odonat does not
- Anything before a merge. There is no traffic capture, no replay and no CI integration
- Hardcoded secrets or vulnerable dependencies. Odonat runs no scanner of any kind
- A change that is not a manifest change, such as a runtime config push or a feature flag
- Gradual degradation with no identifiable start, because elimination needs a symptom start time
- Business logic that passes every test and degrades no metric, such as a 5% discount where policy allowed 10%
- Physical datacenter failures, fibre cuts, region-wide hypervisor crashes
- Zero-day kernel exploits before a CVE signature exists
- Cosmetic CSS and typography bugs that alter no request and no log line
Dogfooding·Odonat is currently dogfooding on live production traffic, successfully gating deployments and managing telemetry for an active AI-powered platform with real users.
Put it in front of your worst incident.
Runs entirely inside your VPC with zero inbound ports. Bring the last SEV your team post-mortemed and we will walk the causal graph against it.