From failed trace to pull request.
Staso reads the trace, clones your repo in a sandbox, writes the root cause, and opens the PR with the diff.
Three steps, one dashboard.
Click diagnose from anywhere a failure lives. If Quick can't land it, escalate to Deep and ship a PR.
Click diagnose
Start from a failed trace or a whole conversation. The deterministic engine runs first; an LLM agent escalates when confidence is low.
Run deep
For code-path failures, promote to Deep mode. Staso clones your repo at the failing commit, writes the trace into an isolated sandbox, and reads the code.
Open the PR
A second agent writes the patch, applies it in the sandbox, and opens a GitHub pull request with the diff and a link back to the trace.
Fast on the happy path. Thorough when it matters.
Pick Quick for 80% of agent failures. Pick Deep when the agent needs to read your code to answer.
Trace-first.
Runs against trace rows, span context, guard violations, baseline stats, and code preloaded from GitHub. Fast. No sandbox required. Handles prompt-level and tool-argument failures.
Repo-aware.
Starts a sandbox, clones your repo at the exact failing commit, writes the trace into the workspace, and lets the agent use read_file, search_code, and bash for up to 20 turns before it answers.
A diagnosis card, a diff, and the receipts.
Every run writes an artifact you can audit. The agent shows its work.
One-line root cause.
Every diagnosis lands with a short summary, a markdown explanation, and a copyable suggested fix.
Calibrated, not wishful.
A score between 0 and 1 tells you how much to trust the answer. Low confidence auto-escalates to the LLM agent.
Tools it used, spans it cited.
The context summary lists which spans, violations, and files the agent read. Provenance is checked against the trace, so hallucinated citations get caught.
Prompt, code, or config.
Each fix is tagged so you can tell a system-prompt tweak apart from a code change before you open the PR.
A real unified diff.
Files changed, lines added and removed, committed to a fresh fix/staso-* branch. The PR body embeds the trace URL so reviewers can open the failure in one click.
Watch the agent work.
Every tool call streams over SSE to the dashboard. Cancel in-flight. No black box.
Three switches. Flip them once.
Install the Staso GitHub App.
Grant read + pull-request access on the repo. Staso resolves the installation per-organization.
Enable sandbox on your workspace.
Required for Deep mode and any fix that writes code. Toggle in settings once.
Emit commit + branch from the SDK.
staso.init() records the commit SHA, branch, and repo URL on every trace. Deep mode reads them to clone the right revision.
Shipping next.
What's not in the product today — and what we're building toward.
Verified fixes
SoonRun your tests inside the sandbox before the PR gets opened. The schema already carries verified + verify_passed; the runner wires up next.
Auto-heal
SoonTrigger diagnose and fix from a guard violation or a regression signal — no manual click. Internal endpoint exists; the policy and UI follow.
Cross-agent regression
SoonReplay a candidate fix against a curated dataset of past failures before it ships.
Closed loop
SoonEvery confirmed diagnosis seeds a Guard rule, so the same pattern gets blocked next time — without a human writing the rule.
A failed trace shouldn't become a Jira ticket.
Hook up GitHub, enable the sandbox, and diagnose your first trace.