Autonomous Self-Healing System for Bug Resolution

wix · Tech · 2026 · source Agentic: yes · promotional bias: med · summary-only (no fetched source) · extracted with prompt 0.5.4 (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: Autonomous software maintenance and support-ticket resolution

Wix needed to reduce long support-ticket resolution cycles by turning user-reported bugs into production-ready pull requests while still keeping human engineers in the final deployment loop.

Constraints:

Architecture

Wix built Gandalf as a four-agent self-healing system. A Detector pulls and classifies support tickets, Bilbo the Enricher gathers static and live context from code, databases, logs, and documentation, a Coder executes a plan in a Docker/GitLab environment and opens a pull request, and an independent Reviewer checks whether the pull request solves the original ticket without unacceptable risk. Schema validation, retries, idempotency checks, UI monitoring, and future team-specific knowledge agents make the system operational rather than a one-shot coding demo.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  support-tickets[Support tickets] --> detector[Detector]
  detector --> bilbo-enricher[Bilbo Enricher]
  bilbo-enricher --> octo-code[Octo Code]
  bilbo-enricher --> trino[Trino]
  bilbo-enricher --> grafana[Grafana]
  bilbo-enricher --> documentation[Documentation]
  documentation --> team-knowledge-agents[Team knowledge agents]
  team-knowledge-agents --> bilbo-enricher
  bilbo-enricher --> coder[Coder]
  coder --> schema-validator[Schema validator]
  schema-validator --> coder
  coder --> pull-request[Pull request]
  pull-request --> reviewer[Reviewer]
  reviewer --> human-engineer[Human engineer]
  support-tickets --> monitoring-ui[Monitoring UI]
  monitoring-ui --> human-engineer
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Support tickets Natural-language user reports and bug queues that start the self-healing workflow. Detector, Monitoring UI
Detector Selects tickets from the queue and classifies whether they are bug-like and solvable. Support tickets, Bilbo Enricher
Bilbo Enricher Aggregates the context needed to understand and plan a fix. Detector, Octo Code, Trino, Grafana, Documentation, Coder
Octo Code Searches GitLab/codebase context to locate likely bug areas. Bilbo Enricher
Trino Provides normalized database access across Wix databases. Bilbo Enricher
Grafana Supplies logs and observability evidence for the ticket window. Bilbo Enricher
Documentation Supplies public/private documentation and expected behavior. Bilbo Enricher, Team knowledge agents
Coder Runs the plan in a Docker pipeline, edits code with agent/GitLab CLIs, and opens a pull request. Bilbo Enricher, Pull request, Schema validator
Reviewer Independently checks the original ticket against the generated pull request for correctness and risk. Pull request, Human engineer
Pull request Standard engineering artifact where automated fixes enter human review. Coder, Reviewer, Human engineer
Schema validator Checks agent outputs at each stage and drives retry loops on malformed responses. Detector, Bilbo Enricher, Coder, Reviewer
Monitoring UI Shows workflow state, progress, blockers, and PR creation status. Support tickets, Human engineer
Team knowledge agents Future protocol-connected agents that expose team-specific organizational context. Documentation, Bilbo Enricher
Human engineer Reviews final pull requests, deployment risk, and blocked cases. Reviewer, Pull request, Monitoring UI

Data flow

Tickets enter through cron or manual triggers, then the Detector chooses and classifies solvable issues. The Enricher collects context through Octo Code, Trino, Grafana, and documentation systems, produces a plan, and passes it to the Coder. The Coder creates code in a sandboxed Docker pipeline and opens a GitLab pull request. The Reviewer independently evaluates the PR and either marks it ready for human review or flags risk, while the UI exposes states and blocked cases.

3 supporting quotes
“The sequence begins with a trigger, either a cron job checking for new tickets every 30 minutes or manual initiation by engineers.”summary, stated
“The Enricher then creates a plan based on this context, which gets passed to the Coder for execution in a sandboxed Docker environment.”summary, stated
“Finally, the Reviewer examines the resulting pull request independently to provide a verdict: either "done" meaning ready for human review, or flagged with specific risks”summary, stated

Why this architecture

Wix separated detection, enrichment, coding, and review because the system's bottleneck is context quality and because independent review is a necessary check on autonomous fixes. Existing infrastructure integrations make the workflow practical inside Wix, while schema validation and retries compensate for nondeterministic agent outputs.

3 supporting quotes
“A central thesis of the presentation is that the success of this system depends primarily on context quality rather than model selection or architectural complexity.”summary, stated
“The system architecture consists of four distinct, decoupled agents, each with specialized responsibilities. This separation of concerns mirrors human software development workflows and provides important checks and balances.”summary, stated
“Since agents are non-deterministic, they don't always return data in expected formats. When an agent completes its task, the system validates the output against a defined schema.”summary, stated

Models used: Gandalf · Detector agent · Bilbo Enricher agent · Coder agent · Reviewer agent · frontier models for spec generation

Scale

Alternatives considered (roads not taken)

Optimize around model choice or agent cleverness first

Rejected because: Wix found context quality to be the key determinant of whether bugs become solvable.

“the success of this system depends primarily on context quality rather than model selection or architectural complexity.”summary, stated

Use one agent for detection, enrichment, coding, and review

Rejected because: Focused roles and independent review provide better attention, checks, and balances.

“This separation of concerns mirrors human software development workflows and provides important checks and balances.”summary, stated
“The independent nature of this agent provides an important check - it's not biased by the context or reasoning of the previous agents.”summary, stated

Deploy fixes without human review

Rejected because: Final deployment decisions remain with engineers because generated fixes can carry business or security risk.

“The ambitious target was to reduce this to under 24 hours, with the caveat that final deployment decisions remain with human engineers who still need time to review the proposed fixes.”summary, stated

Force all teams into a standardized documentation model

Rejected because: Wix is pursuing team-owned agents behind a protocol because knowledge formats vary by team.

“Rather than forcing different teams to adopt a standardized documentation model, Wix is pursuing a protocol-based approach.”summary, stated

Patterns

multi-agent-orchestration (architecture)

Gandalf decomposes the workflow into Detector, Enricher, Coder, and Reviewer agents with explicit handoffs.

“Using a four-agent architecture that handles ticket classification, context enrichment, code generation, and review”summary, stated

tool-use-orchestration (integration)

The Enricher gathers context through GitLab search, database access, logs, and documentation tools.

“Four primary enrichers are highlighted: Octo Code for intelligent GitLab searches to locate potential bug locations in static code; Trino for normalized database access”summary, stated

structured-output-contract (reliability)

Each agent output is validated against a schema and retried with error feedback when malformed.

“When an agent completes its task, the system validates the output against a defined schema.”summary, stated

human-in-the-loop-gate (governance)

Generated pull requests still wait for human engineering review and deployment judgment.

“generating pull requests that enter the standard human review process rather than trying to completely replace human oversight.”summary, stated

agent-memory (memory)

The planned Historian agent records bug-fix history so future issues can retrieve organizational precedent.

“the Historian agent, which documents every bug fix including the approach taken, the solution implemented, and the current state.”summary, stated

Tradeoffs

Make context enrichment the core of the system

Chose deep context gathering before code generation over asking a coding agent to infer fixes from the ticket alone.

Rationale: Wix argues most bugs become easy once the relevant static and live context is accurate.

“This insight drove their approach from day one: enriching information and understanding context before attempting to solve problems.”summary, stated

Use an independent Reviewer agent

Chose separate review from generation over embedding review instructions into the Coder.

Rationale: The Reviewer is less biased by prior reasoning and can focus on ticket fit, security, and risk.

“The fourth agent, the Reviewer, operates completely independently from the first three agents.”summary, stated

Keep final deployment human-governed

Chose automated PR creation with human review over fully autonomous deployment.

Rationale: Some changes touch high-risk areas and engineers need to judge unintended consequences.

“if a fix touches a billing-related area, the Reviewer might flag that the risk of unintended consequences outweighs the benefit”summary, stated

Gotchas (what bit them)

Ticket classification remains hard for bugs without explicit failures.

Root cause: Some bugs show up as missing or wrong business behavior rather than server errors or clear log signatures.

Resolution: Wix keeps classification as an acknowledged open problem and still routes unsolved cases to humans.

“some bugs manifest as missing functionality rather than explicit failures.”summary, stated
“The challenge of accurately reproducing user state for such issues remains largely unsolved”summary, stated

Organizational context can invalidate an otherwise plausible code fix.

Root cause: Teams know about migrations, vendors, old services, and historical design choices that are not accessible to the agent.

Resolution: Wix is building CDK/organization-brain capabilities and protocol-connected team agents.

“These responses revealed vast amounts of institutional knowledge and "oral tradition" that had accumulated over years”summary, stated
“Each team or group would build their own agent, and Gandalf would connect to these team-specific agents via a standardized protocol”summary, stated

Nondeterministic agent outputs break inter-agent handoffs.

Root cause: Agents do not always return data in the expected formats.

Resolution: Stage outputs are schema-validated and failed formats are retried with explicit error feedback.

“Since agents are non-deterministic, they don't always return data in expected formats.”summary, stated
“If validation fails, the system implements retry logic, passing the error back to the agent along with the original context”summary, stated

Duplicate fixes can be generated for already-addressed bugs.

Root cause: Code may contain a pending fix that has not yet deployed.

Resolution: The system runs idempotency checks before creating redundant solutions.

“If a bug has already been addressed and a fix is pending in the codebase, even if not yet deployed, the system detects this”summary, stated

Evaluation

Wix evaluates Gandalf through schema validation, retry/error-rate tracking, reviewer verdicts on generated PRs, idempotency checks, UI state visibility, and continued human review of PR readiness and risk.

Metrics: 14-day baseline resolution time · under-24-hour target · approximately 50% to 1% inter-agent error-rate reduction · 30-minute cron trigger cadence · PR ready vs blocked/review-risk states

3 supporting quotes
“This approach reduced inter-agent error rates from approximately 50% down to 1%”summary, stated
“Engineers can observe tickets moving from blocked status, through progress as various enrichers gather information”summary, stated
“The Reviewer checks for security vulnerabilities, assesses risk levels, and validates that the fix doesn't inadvertently add unnecessary code”summary, stated

Outcomes

Summary-only: the case reports millions of users, 14-day baseline resolution times, an under-24-hour target, 30-minute ticket polling, and a 50% to 1% handoff-error improvement, but the original transcript was unavailable.

3 supporting quotes
“the system successfully generates pull requests for production deployment”summary, stated
“This case study demonstrates mature LLMOps practices including comprehensive monitoring, schema validation, retry logic, error handling”summary, stated
“The acknowledgment of limitations is notable and refreshing.”summary, stated