Inspiration
Every team's incident playbook starts the same way: which service is actually broken, which commit caused it, where's the safe rollback. Senior SREs do that triage in their head in under a minute. Junior engineers and new hires need ten.
That ten-minute gap is mechanical — read dashboards, scroll commits, match a symptom to a diff — exactly the work an agent should do.
The interesting question isn't "can an LLM read GitLab and Cloud Monitoring." It can. The question is "can it pick the right commit." Most auto-RCA tools rank suspect commits by recency or by fuzzy embedding similarity — and produce a noisy list. Faultline started from the observation that human SREs don't rank by recency. They rank by causal fit between the symptom class and the change class:
- Latency creep → a query-loop change, not a typo fix.
- 5xx spike → a new dependency or auth change, not a docs PR.
- OOM → a pool / allocation change.
We wanted to bake that reasoning step into a Gemini 3 agent.
What it does
Faultline is an autonomous Gemini agent that runs an eight-step incident investigation policy end-to-end, gated by a single human Approve click.
- Reads Google Cloud telemetry — Cloud Monitoring + Cloud Logging — to identify the alerting service and symptom class.
- Walks the service dependency graph to find the real source of the cascade, not the first red alert.
- Pulls recent commits + merge requests on the suspect service via the GitLab MCP server.
- Reads the suspect diffs through GitLab MCP.
- Matches symptom class to change class — the key reasoning step. Ranks candidate commits by causal fit, not by recency.
- Converges on one offending commit with explicit confidence and a stated causal chain (commit → mechanism → symptom).
- Drafts a blameless postmortem, opens a GitLab issue, stages a DRAFT rollback merge request — all through the GitLab MCP server.
- Stops. Surfaces everything to the human. Awaits explicit Approve.
When the human clicks Approve, the FastAPI server (not the agent) strips the Draft: prefix and merges the MR via GitLab REST. The merge fires the victim's GitLab CI and the service recovers.
The agent literally cannot merge: the merge tool is not in the registered toolset. Even if the model hallucinated a merge tool call, the ADK MCP client would 404. The Approve click is the only path to a merge — enforced at the tool-schema level, not by a prompt rule.
Log in or sign up for Devpost to join the conversation.