Inspiration We've all been there: you modify a core function, your local unit tests pass, and you merge the MR. Three days later, a downstream microservice breaks in production because a cross-project integration path wasn't covered by tests.

While simple "blast radius" tools can find dependent files using grep, they suffer from a massive flaw: just because a test file exists next to a dependent file doesn't mean it actually tests the new code path you just introduced. We needed a system that doesn't just guess risk—it mathematically proves it.

What it does Domino is an Action Agent Platform orchestrated by 6 specialized sub-agents. It acts as a systemic risk gatekeeper for enterprise Merge Requests.

When triggered, Domino executes a two-phase cascading traversal on the GitLab Orbit Knowledge Graph. First, it finds every downstream file that depends on your code change. Second, it traverses outward again to find the tests that cover those dependents.

But Domino doesn't stop there. Our Arbiter Agent executes lightweight semantic mutation testing on the diff lines—penalizing the confidence score if a test only covers the "happy path" but misses the new error states introduced in the MR. Finally, our Executor Agent automatically opens templated GitLab Issues containing compilable test stubs for the missing paths, and updates .gitlab-ci.yml to block the merge if a domino::critical gap is found.

How we built it We designed a multi-agent architecture leveraging the GitLab Duo Agent ecosystem and the Orbit MCP Command Tools:

Radar: Parses the MR diff to identify changed definition nodes. Sentinel: Uses Orbit DSL to execute strict IMPORTS and CALLS edge traversals. Arbiter: Our crown jewel. Evaluates test quality semantically (imposing a 40% penalty for missing state assertions). Oracle: Tracks bug regressions over time to create a self-calibrating feedback loop. Executor & Scribe: The action layer that interacts with the GitLab API to open issues and apply labels. We built the backend entirely in Python, backed by 105 passing unit tests to prove the empirical traversal math.

Challenges we ran into Translating Orbit Knowledge Graph nodes into actionable test coverage metrics was incredibly difficult. A graph edge only proves a test exists, not that it asserts on the new state. We had to heavily engineer the Arbiter agent's LLM context window to perform semantic mutation testing without requiring a massive, slow, full-repo test execution.

Accomplishments that we're proud of We are incredibly proud of the Green Agent Impact. By autonomously catching missing cross-project test integrations before a merge, Domino acts as a systemic risk gatekeeper. Fewer broken downstream builds means significantly reduced CI/CD compute cycles, directly lowering the carbon footprint of enterprise development.

We are also proud of the Enterprise Dashboard. Instead of forcing reviewers to click away to an external site, Domino renders a highly scannable Markdown table, a traffic-light Confidence Score, and an Arbiter Audit Log directly inside the Merge Request.

What we learned We learned that the true power of AI in DevOps isn't just generating code—it's orchestrating deterministic APIs (like the Orbit Graph) with the semantic reasoning of LLMs. By combining hard graph edges with LLM mutation analysis, you eliminate hallucinations entirely.

What's next for Domino The next step is to integrate Domino's Oracle agent directly into GitLab's DORA metrics dashboard, allowing Engineering Managers to see real-time ROI on how much CI/CD compute Domino is saving the enterprise every month.

Built With

  • gitlab-ci
  • gitlab-duo
  • llms
  • mcp
  • orbit-knowledge-graph
  • pytest
  • python
Share this project:

Updates