Orchestrating Multi-Agent Code Review Systems with Improved Observability and Reliability

cubic · Tech · 2026 · source Agentic: yes · promotional bias: high · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: AI code-review agent reliability and observability

Cubic needed to move an AI code-review product from proof of concept to production while reducing unexplained failures, false positives, serverless timeout issues, and weak observability across multi-step agent runs.

Constraints:

Architecture

Cubic adopted Inngest as an orchestration and observability layer for its AI code-review agents. The architecture moved from a single do-everything agent to specialized planner, security, duplication, and filtering agents connected through step APIs, parallel execution, event-driven triggers, idempotency, timeout callbacks, and flow control. Inngest traces give run-level and step-level inspection across local and production environments, while agents pull context through tools connected to APIs and sandboxes instead of receiving all context upfront.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  GitHub_pull_request["GitHub pull request"] --> Inngest_event_orchestration["Inngest event orchestration"]
  Inngest_event_orchestration --> Planner_agent["Planner agent"]
  Planner_agent --> Security_agent["Security agent"]
  Planner_agent --> Duplication_agent["Duplication agent"]
  Planner_agent --> Filtering_agent["Filtering agent"]
  Security_agent --> Filtering_agent
  Duplication_agent --> Filtering_agent
  Filtering_agent --> GitHub_pull_request
  Security_agent --> Context_pulling_tools["Context-pulling tools"]
  Duplication_agent --> Context_pulling_tools
  Context_pulling_tools --> Third_party_APIs["Third-party APIs"]
  Context_pulling_tools --> Secure_sandbox_environment["Secure sandbox environment"]
  Flow_control["Flow control"] --> Context_pulling_tools
  Inngest_event_orchestration --> Run_search["Run search"]
  Run_search --> Trace_view["Trace view"]
  Inngest_event_orchestration --> Trace_view
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
GitHub pull request User-facing code-review event and source of code changes for Cubic agents. Inngest event orchestration
Inngest event orchestration Coordinates events, steps, retries, parallel execution, timeout callbacks, and long-running agent workflows. Planner agent, Run search, Trace view, Flow control
Planner agent Assesses code changes and identifies which specialized checks are necessary. Security agent, Duplication agent, Filtering agent
Security agent Checks for vulnerabilities such as injection or insecure authentication. Filtering agent, Context-pulling tools
Duplication agent Flags repeated or copied code that may need refactoring. Filtering agent, Context-pulling tools
Filtering agent Confirms issues found by other agents and filters false positives. GitHub pull request
Context-pulling tools Tools that let agents retrieve needed context from third-party APIs and secure sandboxes on demand. Third-party APIs, Secure sandbox environment, Flow control
Flow control Handles rate limits, debouncing, load spreading, and task prioritization for tools. Context-pulling tools
Run search Searches agent runs by pull request, customer, token usage, or metadata. Trace view
Trace view Shows step-level inputs, outputs, actions, and reasoning paths for diagnosis. —
Third-party APIs External services agents call while retrieving context or performing code-review work. —
Secure sandbox environment Execution environment used by tools when agents need sandboxed context. —

Data flow

A GitHub pull request triggers Inngest-orchestrated agent runs. A planner assesses the change, specialized security and duplication agents inspect relevant concerns, a filtering agent validates issues to reduce false positives, and traces record steps, outputs, and actions so the team can debug behavior by pull request, customer, token usage, or function.

3 supporting quotes
“cubic's AI Agents seamlessly integrate with GitHub to build a long-term memory that learns codebase patterns over time”article, stated
“A significant improvement involved splitting the 'Single, Do-Everything Agent' into a multi-agent system organized by expertise”article, stated
“provides a detailed insight into a given Agent run, allowing for the inspection of its steps, outputs, and actions.”article, stated

Why this architecture

The single-agent proof of concept lacked observability and produced noisy comments. Inngest gave Cubic managed async orchestration, retries, traces, parallel steps, idempotency, timeout handling, and flow control, while specialized agents separated planning, security, duplication, and filtering responsibilities.

3 supporting quotes
“The first cubic version released to customers revealed new challenges. cubic, integrated with larger codebases, encountered edge cases that caused its multi-step, agentic system to fail or become stuck unexpectedly”article, stated
“initial public release of cubic, designed as a 'Single, Do-Everything Agent,' led to an influx of Pull Requests filled with low-value comments”article, stated
“Inngest's step APIs facilitated a smooth shift to a multi-agent system”article, stated

Models used: AI Agents · Large Language Models

Scale

Alternatives considered (roads not taken)

Manual trace IDs and grep-based log search

Rejected because: That approach made multi-step agent runs hard to inspect compared with searchable traces.

“Compared to what I was doing before, which was essentially tagging everything with trace IDs and doing hardcore grepping”article, stated
“it was much easier to see all the steps and sub-steps triggered by an event”article, stated

Single do-everything agent

Rejected because: The monolithic agent produced low-value comments, nitpicks, and false positives.

“designed as a 'Single, Do-Everything Agent,' led to an influx of Pull Requests filled with low-value comments, minor nitpicks, or many false positives.”article, stated

Push all context into agent prompts upfront

Rejected because: Cubic moved to context-pulling so agents retrieve context on demand through tools.

“transitioning from providing a lot of context to Agents (”context-pushing”) to enabling Agents to pull context on demand using tools (”context-pulling”).”article, stated

Uncoordinated parallel agent/tool execution

Rejected because: Parallel agents introduced race conditions and external constraints that required idempotency, timeouts, and flow control.

“Race conditions among multiple parallel Agents were solved by leveraging Inngest's idempotency feature”article, stated
“Tools connect Agents to third-party APIs and a secure sandbox environment, which comes with its set of external constraints, such as provisioning or rate limiting.”article, stated

Patterns

multi-agent-orchestration (orchestration)

Cubic split one broad code-review agent into planner, security, duplication, and filtering agents connected by Inngest steps and events.

“A significant improvement involved splitting the 'Single, Do-Everything Agent' into a multi-agent system organized by expertise”article, stated

observability-tracing (operations)

Inngest replaced manual trace tagging with run search and step-level traces for agent executions.

“Setting up Inngest brought state-of-the-art observability to cubic's AI Agents, replacing manual tagging and grepping of logs with fine-grained and searchable traces”article, stated

async-message-orchestration (orchestration)

Agents are connected through event-driven architecture and triggered from pull-request-related events.

“offering built-in support for parallel execution and enabling agents to connect through its event-driven architecture.”article, stated

tool-use-orchestration (orchestration)

The system moved from pushing context into prompts to letting agents pull needed context through tools backed by APIs and sandbox environments.

“Another key milestone of the product overhaul involved transitioning from providing a lot of context to Agents (”context-pushing”) to enabling Agents to pull context on demand using tools (”context-pulling”).”article, stated

agent-memory (state)

Cubic's GitHub integration builds long-term memory of codebase patterns over time.

“cubic's AI Agents seamlessly integrate with GitHub to build a long-term memory that learns codebase patterns over time, helping teams at Granola, n8n, and Browser Use merge Pull Requests 4x faster.”article, stated

eval-driven-development (quality)

The filtering agent confirms issues found by other agents to reduce false positives before comments reach pull requests.

“* Filtering Agent: Designed to filter for false positives and confirm issues found.”article, stated

Tradeoffs

Use a managed orchestration layer for agent workflows.

Chose Inngest step APIs, events, retries, and traces over Custom serverless queues plus manual logs.

Rationale: Cubic needed serverless timeout handling, long-running multi-step orchestration, observability, and a smooth integration path.

“Allis immediately started researching serverless queuing solutions that would match their requirements:”article, stated
“* Fully managed infrastructure that perfectly integrates with serverless to tackle timeouts”article, stated

Specialize the code-review agents.

Chose Planner, security, duplication, and filtering agents over A single do-everything review agent.

Rationale: Specialization lowered false positives and gave each agent a focused review responsibility.

“transitioning from a single-agent system to a multi-agent system, which resulted in a 51% reduction in false positives.”article, stated

Switch from context-pushing to context-pulling.

Chose Tool-based on-demand context retrieval over Providing a lot of context to agents upfront.

Rationale: Tool use lets agents retrieve only what they need, but requires reliable API and sandbox orchestration.

“transitioning from providing a lot of context to Agents (”context-pushing”) to enabling Agents to pull context on demand using tools (”context-pulling”).”article, stated
“Tools connect Agents to third-party APIs and a secure sandbox environment, which comes with its set of external constraints, such as provisioning or rate limiting.”article, stated

Gotchas (what bit them)

The early agentic system failed or got stuck without clear explanations.

Root cause: Large codebases exposed edge cases, and limited observability made diagnosis difficult.

Resolution: Adopt structured orchestration with fine-grained traces and searchable metadata.

“encountered edge cases that caused its multi-step, agentic system to fail or become stuck unexpectedly, compounded by limited observability”article, stated

Manual logging did not scale to nested multi-agent workflows.

Root cause: Trace IDs plus grep did not expose steps and sub-steps triggered by each event.

Resolution: Use Inngest run search and trace views for agent runs, steps, outputs, and actions.

“> I really liked the Inngest dashboard. I'm often looking for specific customers and PR numbers. I appreciate how easy it is to query for those as well as for specific function names.”article, stated
“* The Runs search enables cubic to find all Agent runs related to a specific Pull Request, as well as quickly filter Agent runs based on custom data (eg, token used).”article, stated

The monolithic review agent generated noisy low-value feedback.

Root cause: One broad agent handled too many review responsibilities and produced nitpicks and false positives.

Resolution: Split responsibilities across planner, security, duplication, and filtering agents.

“led to an influx of Pull Requests filled with low-value comments, minor nitpicks, or many false positives.”article, stated

Parallel agents created consistency risks.

Root cause: Multiple agents could race while updating or acting on shared resources.

Resolution: Use idempotency features in the orchestration layer.

“Race conditions among multiple parallel Agents were solved by leveraging Inngest's idempotency feature”article, stated

External tool dependencies introduced reliability constraints.

Root cause: Tools called third-party APIs and sandboxes with provisioning and rate-limit constraints.

Resolution: Use flow-control features for rate limits, debouncing, and task priority.

“Tools connect Agents to third-party APIs and a secure sandbox environment, which comes with its set of external constraints, such as provisioning or rate limiting.”article, stated
“Inngest's Flow Control features ensure that cubic Agents get reliable tools”article, stated

Evaluation

Cubic evaluated production behavior through false-positive reduction, pull-request merge speed, trace inspection, customer/PR-specific run search, and iterative debugging of flawed reasoning patterns in agent traces.

Metrics: 51% reduction in false positives after moving to multi-agent architecture · 4x faster pull-request merges for named customer teams · Runs searchable by pull request, customer, custom metadata, and token usage · Trace inspection of steps, outputs, and actions

3 supporting quotes
“transitioning from a single-agent system to a multi-agent system, which resulted in a 51% reduction in false positives.”article, stated
“cubic's AI Agents seamlessly integrate with GitHub to build a long-term memory that learns codebase patterns over time, helping teams at Granola, n8n, and Browser Use merge Pull Requests 4x faster.”article, stated
“turned out to be the perfect tool for identifying flawed reasoning patterns and creating a foundation to diagnose and resolve root causes in production.”article, stated

Outcomes

The source is an Inngest customer story, so reported improvements should be treated as vendor-framed claims, but it provides concrete architecture and operations details.

3 supporting quotes
“cubic's journey demonstrates how Inngest provided the infrastructure needed to transform their product from a proof of concept to a production-ready, multi-agent system”article, stated
“transitioning from a single-agent system to a multi-agent system, which resulted in a 51% reduction in false positives.”article, stated
“cubic's AI Agents seamlessly integrate with GitHub to build a long-term memory that learns codebase patterns over time, helping teams at Granola, n8n, and Browser Use merge Pull Requests 4x faster.”article, stated