Autonomous incident remediation,
in single-digit minutes.
For production crashes, Remediate Labs diagnoses the root cause, generates a fix, and opens a PR — automatically, in minutes. For everything else, it surfaces errors with root-cause context so your team decides what gets fixed next. Built on FastAPI and Postgres, with Claude and DeepSeek agents. The diagnosis agent's harness is improved by an optimizer agent, and every change to it passes a statistical regression gate.
Agent pipeline
~6 min
from detected event to fix-PR
Avg MTTR
32 min
detection to merged fix
Diagnosis localization
89.9%
on unseen repos, up from 78.8% (self-improving harness)
Pipeline and MTTR refresh from scripts/measure_mttr.py against the live demo DB;
localization is measured on 66 held-out SWE-bench Verified cases from repos the optimizer never saw.
See the methodology for how each is computed.
How it works
Architecture deep-dive →01
Detect
CloudWatch alarms POST to a webhook, and a background poller separately scans CloudWatch Logs on an interval — detection isn't push-only.
02
Triage
Haiku-class classifier filters real incidents from noise and duplicates. Ground truth from a golden dataset that grows automatically from real incident outcomes.
03
Diagnose
DeepSeek-V4.1-Flash running an evolved harness names the file and function behind the error. Every claim is grounded against the actual repo: a diagnosis that doesn't quote code it read is rejected.
04
Clarify
When DiagnosisAgent confidence falls below 70%, ErrorClarityAgent takes over — no hypothesis, no guessing. It checks exact code lines and adds targeted logging so the next diagnosis has real data to work with.
05
Fix
Fix-generation agent writes a patch, runs it in a Docker sandbox against the real test suite, retries up to 3× on failure.
06
Review
A GPT-5.5 reviewer — enforced to be a different model family than the one that wrote the fix — checks the PR. If it requests changes, a merge-decision agent decides whether to ship anyway or regenerate.
07
Approve
HIGH/CRITICAL actions queue for human approval before merging. Approvals also feed an RLHF preference dataset.
08
Improve
An optimizer agent evolves the diagnosis harness and keeps a change only if it beats measured noise. A paired regression gate over 434 SWE-bench Verified cases checks every change before it merges.
Recent writing
All posts →Designing a Self-Improving Agent Harness: How to Tell Real Gains from Noise
I wanted an agent that improves my diagnosis agent's harness. The research said it would mostly learn to overfit, so most of the design is about catching that.
Noise Is the Enemy: Why Every Edit Got Rejected
The first full optimizer run proposed three edits and rejected all three. Every rejection was correct, and the reasons were more useful than an accepted edit would have been.
Power Analysis, and the Run That Worked
Every optimizer run had failed for the same reason, and it wasn't the model or the ideas. Once I fixed how many cases it measured on, it found two changes that raised held-out localization from 78.8% to 89.9%.