Autonomous Bug Investigation and Resolution Agent

basis · Tech · 2026 · source Agentic: yes · promotional bias: med · source-backed · 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: Incident response and bug investigation

Basis needed to automate on-call bug investigation as incident volume grew, while producing evidence-backed summaries that engineers could verify and trust.

Constraints:

Architecture

Basis built Clueso, a debugging agent running in a Modal VM with the Claude Agent SDK. Clueso can query logs and data, navigate the monorepo, read runbooks and product docs, save tool outputs to local files, maintain a progress logbook, and produce a post-event summary with timeline and evidence table. The team improved it through known-root-cause evals, self-diagnostic failure analysis, tool-interface iteration, filesystem workflows, prompt-defined done criteria, and Slack integration for incident threads.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  slack-integration[Slack integration] --> clueso-agent[Clueso agent]
  clueso-agent --> modal-vm[Modal VM]
  modal-vm --> claude-agent-sdk[Claude Agent SDK]
  clueso-agent --> monorepo[Monorepo]
  clueso-agent --> logging-service[Logging service]
  clueso-agent --> database-query-tool[Database query tool]
  clueso-agent --> runbooks-and-documentation[Runbooks and documentation]
  logging-service --> evidence-files[Evidence files]
  database-query-tool --> evidence-files
  evidence-files --> progress-document[Progress document]
  progress-document --> post-event-summary[Post-event summary]
  post-event-summary --> engineering-team[Engineering team]
  engineering-team --> slack-integration
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Slack integration Lets engineers tag Clueso in incident/support threads and gives the agent initial conversation context. Clueso agent, Engineering team
Clueso agent Autonomously investigates incidents, queries data, reads code/docs, maintains progress, and writes final reports. Slack integration, Modal VM, Claude Agent SDK, Monorepo, Logging service, Database query tool, Runbooks and documentation, Progress document, Evidence files, Engineering team
Modal VM Provides the execution environment for Clueso. Clueso agent, Claude Agent SDK
Claude Agent SDK Provides the filesystem environment, hooks, observability integration, and auto-compaction harness. Modal VM, Clueso agent
Monorepo Codebase that Clueso navigates to trace root causes. Clueso agent
Logging service Provides error logs and trace data for incident investigation. Clueso agent, Evidence files
Database query tool Allows Clueso to write and run data queries during investigations. Clueso agent, Evidence files
Runbooks and documentation Provide diagnostic flows, internal debugging guides, and product context. Clueso agent
Evidence files Persist tool results across compaction and long trajectories. Clueso agent, Progress document
Progress document Stores hypotheses, evidence references, ruled-out causes, and next steps. Clueso agent, Evidence files, Post-event summary
Post-event summary Final timeline and evidence table delivered to engineers. Progress document, Engineering team
Engineering team Reviews Clueso's output, uses it in incident response, and improves system capabilities. Slack integration, Post-event summary

Data flow

An engineer or support thread invokes Clueso from Slack or another entry point. Clueso reads the thread as context, runs shell/Python and query tools in its Modal VM, pulls logs, inspects code and docs, stores detailed tool outputs as files, updates a progress document with hypotheses and ruled-out causes, and finally replies with a timeline and evidence table linking back to logs and sample queries.

3 supporting quotes
“Clueso runs in a Modal VM using the Claude Agent SDK as a harness. The Agent SDK gave us a filesystem environment, flexible hooks for customizing behavior, easy integration with our observability platform, and auto-compaction out of the box.”article, stated
“Clueso pulls error logs, writes queries, steps through our monorepo, and then delivers a verifiable post-event summary.”article, stated
“Clueso reads the chat, treats its contents as initial context for investigation, then replies in the same thread when finished.”article, stated

Why this architecture

Clueso needed a full filesystem and tool environment because bug investigation is long-horizon knowledge work involving logs, queries, code, runbooks, and documentation. Filesystem-backed evidence and a progress logbook prevent compaction from erasing facts or reasoning. Slack integration was added because incident work already happened in Slack, and structured evidence tables gave both humans and the agent a clear definition of done.

3 supporting quotes
“Early in development, we chose to have Clueso operate in a full filesystem environment, running shell commands and executing Python scripts to acquire context.”article, stated
“This let it capture larger amounts of context and avoid information loss when compaction occurred. Saving tool results helped, but the conclusions drawn from analyzing those results could still be lost or distorted.”article, stated
“Instead of deciding when it had "done enough," Clueso could evaluate whether its evidence graph was complete. ![](https://cdn.”article, stated

Models used: Claude Agent SDK · Clueso

Scale

Alternatives considered (roads not taken)

Open-ended debugging from day one

Rejected because: The team first used known-root-cause bugs so failures pointed to missing capabilities instead of ambiguous task difficulty.

“To expand Clueso's capabilities, we set up a simple development loop: give Clueso bugs where the root cause was already confirmed, and ask it to reproduce the diagnosis.”article, stated
“Verifying a known answer is a much simpler task for an LLM than open-ended investigation, so when Clueso couldn't verify, the failure pointed directly at a missing capability rather than a hard problem.”article, stated

Manual auditing of every agent failure

Rejected because: Clueso itself diagnosed gaps, generated clarifying questions, and routed them to the right person.

“Rather than manually auditing every failure, we asked Clueso itself to diagnose these gaps, generate clarifying questions, and identify the right person to route them to.”article, stated

Rely only on context-window memory

Rejected because: Detailed tool results and conclusions were lost or distorted by compaction.

“We noticed that during long-running investigations, detailed tool results were lost to compaction, degrading performance.”article, stated
“Saving tool results helped, but the conclusions drawn from analyzing those results could still be lost or distorted.”article, stated

Standalone chat interface

Rejected because: Most incident collaboration already happened in Slack, so Clueso needed to meet users there.

“Clueso started as a standalone chat interface. This worked for early adopters, but most incident collaboration already happens in Slack”article, stated

Patterns

context-compaction (memory)

Clueso saves tool results to local files and maintains a progress document so long investigations survive compaction.

“This let it capture larger amounts of context and avoid information loss when compaction occurred.”article, stated
“we had Clueso maintain a progress document modeled after a researcher's logbook”article, stated

agent-memory (memory)

The progress document stores hypotheses, ruled-out causes, evidence links, and next steps across the investigation.

“current hypotheses, references to evidence files, things it has ruled out, and next steps.”article, stated

tool-use-orchestration (agentic)

Clueso coordinates monorepo navigation, log pulls, database queries, shell/Python work, runbooks, and documentation.

“Clueso pulls error logs, writes queries, steps through our monorepo”article, stated
“running shell commands and executing Python scripts to acquire context.”article, stated

structured-output-contract (reporting)

Clueso's final answer must contain a timeline and evidence table linking logs and queries.

“produce a timeline of events with a corresponding evidence table linking to logs and sample queries”article, stated

observability-tracing (operations)

The Claude Agent SDK provided observability hooks, and the team collected sample trajectories to identify tool and reasoning failures.

“easy integration with our observability platform”article, stated
“we collected sample trajectories and had Clueso self-reflect to identify failure modes.”article, stated

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

Engineers use Clueso's verifiable summaries and product-doc reasoning in Slack threads rather than accepting opaque diagnoses.

“engineers needed to be able to trust and trace its reasoning.”article, stated
“The progress document also served as the basis for Clueso's final output, which made the transition from investigation to report more reliable.”article, stated

Tradeoffs

Use filesystem-backed investigation state

Chose local evidence files and a progress document over keeping all results and reasoning only in model context.

Rationale: Filesystem artifacts preserved raw evidence and conclusions across compaction and long trajectories.

“Because Clueso already had full filesystem access, the fix was natural: we instructed it to save tool results to files locally.”article, stated
“To address this, we had Clueso maintain a progress document modeled after a researcher's logbook”article, stated

Use known-root-cause bugs for development

Chose verification of confirmed diagnoses over open-ended investigation during early capability building.

Rationale: Known answers made missing tools or product knowledge easier to identify when Clueso failed.

“Verifying a known answer is a much simpler task for an LLM than open-ended investigation”article, stated
“the failure pointed directly at a missing capability rather than a hard problem.”article, stated

Meet engineers in Slack

Chose Slack/Pylon thread integration over a separate Clueso chat interface.

Rationale: Incident collaboration already happened in Slack, so integration made Clueso visible and easier to adopt.

“most incident collaboration already happens in Slack via Pylon’s Slack integration.”article, stated
“Usage and visibility increased immediately.”article, stated

Gotchas (what bit them)

Tool-interface rough edges compound over long trajectories.

Root cause: Tools that can be worked around in short tasks become sources of cascading confusion across many turns.

Resolution: Basis collected trajectories, asked Clueso to self-reflect on failures, and restructured tools to eliminate footguns.

“the tool that was good enough for a five-turn investigation became a source of cascading confusion and a primary failure mode.”article, stated
“Clueso surfaced ways to restructure tools to eliminate footgun cases where tool responses contained irrelevant or conflicting information”article, stated

Context compaction erased details and conclusions.

Root cause: Long investigations generated too many tool outputs and intermediate findings to keep reliably in working context.

Resolution: Clueso saved tool results to files and maintained a researcher-style progress document.

“detailed tool results were lost to compaction, degrading performance.”article, stated
“we instructed it to save tool results to files locally.”article, stated

The agent stopped early with speculative answers.

Root cause: As context filled, Clueso sometimes ended before gathering all required evidence.

Resolution: The prompt explained automatic compaction and defined done as a complete evidence-backed timeline.

“it would preemptively end its turn and produce a speculative answer before gathering all the required information.”article, stated
“we gave it a concrete definition of "done."”article, stated

Technical capability did not automatically create adoption.

Root cause: A standalone chat interface did not fit where engineers already collaborated on incidents.

Resolution: Basis integrated Clueso into Slack/Pylon threads and later triggered it automatically in natural support channels.

“With Clueso reliably solving investigations, we assumed adoption would be immediate. It wasn't.”article, stated
“we added a Slack integration that let engineers tag Clueso on any thread.”article, stated

Evaluation

Basis evaluated Clueso with known-root-cause bugs, trajectory analysis, first-pass bug resolution, routine/complex runtime observations, and adoption outcomes after Slack integration.

Metrics: more than 78% of incidents debugged on first pass · routine issues in under five minutes · complex investigations over an hour · dozens of tool calls across potentially hundreds of turns · capability development framed as first 60% quick, remaining 40% hard

3 supporting quotes
“Clueso now debugs more than 78% of incidents on the first pass”article, stated
“Routine issues resolve in under five minutes. Complex investigations can run for over an hour.”article, stated
“give Clueso bugs where the root cause was already confirmed, and ask it to reproduce the diagnosis.”article, stated

Outcomes

The article reports percent resolved and runtime classes but not total incident count, invocation volume, or API cost.

3 supporting quotes
“allowing our engineers to respond faster and allocate time to higher leverage efforts.”article, stated
“The ultimate output of a Clueso investigation is a message to our engineering team.”article, stated
“Because Clueso has access to our product documentation alongside the codebase, it can distinguish between genuine bugs and cases where the customer needs guidance rather than a fix.”article, stated