An AI SRE that fixes what it finds.
Polylane does an SRE's work: it learns your system, reviews changes, handles incidents, fixes bugs and keeps CI green.
Get started for freeLearn
It learns your system before anything breaks
Polylane connects your clouds, repos and observability tools into one context graph, so it knows what depends on what before something goes wrong.
Start connectingIssue hotspot: 4 issues in the last 7 days
Change hotspot: 12 changes in the last 7 days
Change hotspot: 7 changes in the last 7 days
Issue hotspot: 2 issues in the last 7 days
Issue hotspot: 1 issue in the last 7 days
Change hotspot: 3 changes in the last 7 days
Prevent
It reviews changes before it ships
Every pull request is checked against the production it deploys to. If it would break something, Polylane says why before you merge.
Start analysing
Add trigram index for order search #482
main from order-search-trgm Merging this pull request may degrade production (high impact).
Merging this blocks every write to orders while the index builds. migrations/0114_order_search_trgm.sql:3 adds CREATE INDEX … USING gin (search_text gin_trgm_ops) without CONCURRENTLY, and a plain CREATE INDEX takes a full write lock on orders for the whole build. Checkout sustains ~38 writes/s on that table; each one queues behind the lock until the build finishes.
To make this safe: build the index with CREATE INDEX CONCURRENTLY outside the transactional migration.
Polylane analysed de91b47 for production impact.
Respond
It handles incidents while you sleep
Every alert is checked, repeats are grouped, and real incidents are investigated with the evidence attached.
Start triagingElevated error rate on payments-api
- 02:14:07 Alert received
Datadog · payments-api error rate · occurrence #1
- 02:14:58 Triaged as an incident
Severity high. Error rate 41× the 30-minute baseline, clustered on POST /v1/charges; deploy f3a9c12 landed 18 minutes before the firing.
- 02:15:02 Fix run started
The same agent that triaged it keeps working it.
- 02:31:44 Alert fired again (occurrence #2)
Folded into this issue after 16 quiet minutes, and handed to the investigation already running.
- 03:06:12 Alert recovered
Provider recovery received. Issue resolved.
Fix
It turns bug reports into fixes
Hand it a bug report and it proves the cause before it writes the fix, or passes the work to Devin, Cursor or Factory.
Start fixing- 02:02:31 Fix run started
One agent, from the signal to the pull request.
- 02:16:41 Causal chain
- Signal (metric)
-
workers.invocation.p99_latency · checkout-edge
- Surfacing site
-
checkout-edge at coreplane/checkout-edge:src/hyperdrive/pool.ts#withConnection
- Mechanism
-
withConnection waits for a free slot before it runs the query, so the P99 carries pool queue time, not database time
- Producer
-
hd-prod, at coreplane/checkout-edge:wrangler.jsonc#hyperdrive
- Producer evidence
- queue-depth histogram grouped by colo: p99 wait 1.31s at 5 connections in flight, 0.04s below
- sandboxGrep: max_connections is 5 on the hd-prod binding; the worker opens up to 50
- change record 9f3c2a1: max_connections 50 → 5
- Trigger
-
deploy 9f3c2a1 took max_connections from 50 to 5, 18 minutes before the first breach
- What happens to the failed unit today
-
unknown: whether the storefront retries the confirm: coreplane/storefront-web is not a connected repository
- Cadence check
-
one queued request per checkout past the fifth in flight matches the 118 breaches and the gaps between evening peaks
- Blast radius
-
2 other resource(s), 0 other tenant(s); data at risk: none named
Every link rests on named evidence, or is written as unknown: <what would establish it>. Counts, not adjectives. If the cause isn't proven, no fix ships.
- 02:24:09 Pull request #412
Restore Hyperdrive pool size in checkout-edge
Build
It keeps CI green when main breaks
When a build fails on main, Polylane finds the commit that broke it and writes the fix.
Connect your CIci / build failing on main
- 14:02:11 Alert received
GitHub · ci / build failed on main · run #1842
- 14:02:40 Triaged as an incident
tsc fails in orders/api.ts: it still imports formatPrice from utils/price, which a3f9c21 (#1287) moved to money/format.ts four minutes earlier.
- 14:02:44 Fix run started
The same agent that triaged it keeps working it.
- 14:09:30 Pull request opened
#1291 Import formatPrice from money/format in orders/api
- 14:21:05 Alert recovered
ci / build passed on main. Issue resolved.
Built to be trusted with production.
- Signal (alert) Datadog monitor
- Trigger deploy 9f3c2a1
- unknown: what would prove it
Evidence behind every claim
Every conclusion links to the query, log line or deploy that supports it, or says what is still unknown.
- read-only on
- write calls refused
Read-only until you say so
Accounts connect read-only. Write calls are refused until you turn read-only off for that account.
- baseline learned per resource
Nothing to tune
Built-in checks learn what normal looks like for every provider you connect.
- #polylane-notifications Slack
- email already investigated
- console evidence attached
Not another pager
It tells you in Slack, email and the console, with the investigation already done.
- autofix or Polylane's own
Works with your coding agent
Polylane writes fixes itself, or hands them to Devin, Cursor or Factory.
- confirmed remembered
- daily notes kept
- next issue starts faster
Sharper every week
It remembers what it confirms and keeps daily notes, so each issue makes the next one faster.
It plugs into what you already run.
Loved by developers
Related guides
- Guide What Is an AI SRE? How It Works and How to Evaluate One An AI SRE is an AI agent that triages alerts, investigates incidents and proposes fixes. Learn how it works, the autonomy levels and how to evaluate one.
- Guide Is It Safe to Give an AI SRE Read Access to Production? Read access for an AI SRE is a sound first step if you scope it. The risks are secrets, customer data and exfiltration. Here are the controls and a checklist.
- Guide How to correlate incidents with deploys using evidence Learn how to correlate incidents with deploys using release markers, metrics, logs and verified GitHub, Vercel, Cloudflare and Kubernetes change events.
- Blog I'm Betting My Company on Proactive Agents Agents can do almost anything you ask. That's the problem, you still have to ask. The next evolution is agents that figure out the job to be done. I started with operations, because nobody should be on-call in 2026.
- Guide How to Test Cloudflare Cron Triggers with Local Explorer Local Explorer now fires a Worker's scheduled() handler from your browser. Version needs, ad hoc crons, scheduled times, the API for scripts, and the gotchas.
- Guide Railway activity feed filters and cron jobs in the CLI Railway's 16 October 2026 update: filter the activity feed by service, list and trigger cron runs with railway cron, and migrate railway.json to IaC.
Common questions.
What is an AI SRE?
An AI SRE does the operational work of keeping production healthy: it watches your systems, triages alerts, investigates issues and fixes them. Polylane does all four and shows the evidence for each conclusion.
Does an AI SRE replace my on-call rotation?
It takes the first pass at everything, so people step in only when something needs a decision. Polylane isn't a pager: it tells you by email, Slack and the console, and each issue arrives already investigated.
Is it safe to give an AI SRE access to production?
Accounts connect read-only, and write calls are refused until you turn read-only off for that account. Code changes go through your normal review.
How is an AI SRE different from an observability tool?
Observability tools store your telemetry and show it to you. Polylane reads it, decides what matters, finds the cause and writes the fix.
Does it only diagnose, or does it fix too?
It fixes too. Once the cause is proven, Polylane writes the fix and tests it, ready for your review.
Do I have to set thresholds?
No. Polylane judges each signal against how that resource normally behaves at that hour on that day, and assumes nothing is wrong until the data says otherwise.
Will it wake me for a blip?
No. A change has to be big, sustained and heading the wrong way, and repeats fold into one issue.
What happens to an alert it dismisses?
It's kept with its reasoning, and one click sends it back for investigation. An alert that fires again gets triaged again instead of dismissed twice.