Skip to content

Bug triage to autonomous fix ​

Triage a ticket, hand it to the pipeline, watch it land.

The dev-story triage → autonomous-bugfix path, one room per beat: survey the ticket queue, pick a ticket, review the triage report, then hand off into the bugfix pipeline — reproducing, proposing, implementing, testing, reviewing, validating, done, and the opened PR.

Question

Can this structure drive a real repo workflow end to end?

Watch for

Triage, reproduce, propose, implement, test, review, validate, and PR handoff.

Why it matters

The workflow is a named graph of gates rather than one unbounded agent prompt.

Key beats

  1. dev-story: triage a bug, then watch the autonomous fix pipeline reproduce → propose → implement → test → review → validate → open a PR. Every step is a deterministic state-machine room kitsoki runs the same way every time — no LLM in the loop for this demo.

    An engineer's day, end to end — screenshot
  2. This card is the dev-story — an engineer's day modelled as one graph. It opens in a triage queue, picks a fixable ticket, then hands that ticket off into the autonomous bugfix pipeline. Let's run it.

    The dev-story — screenshot
  3. Click New session to create a fresh, independently-traced run of the dev-story.

    Spin up a run — screenshot
  4. We're on the drive view: pick intents, submit turns, and watch the state badge advance one room at a time. The Observe link opens the read-only observer for this same run — the trace tree, timeline, and graph. We'll drive the whole pipeline from here.

  5. The engineer's day starts in triage. The slotless go_ticket_search intent steps from the main room into ticket_search — the bug triage queue. Let's go there now.

Full recorded walkthrough (18 steps)
  1. This is bug triage: the ticket_search room, loaded with the open bugs the moment we arrive — no search needed. Three are waiting: AA-13268 (P1, the note-list bug), AA-13204 (P2), AA-13190 (P3). Severity-ordered, the worst one first.

  2. Straight from the queue, pick_ticket selects AA-13268 — 'Note list disappears after creating a second note' — by id. No leaving the triage room to do it.

  3. Triage's verdict, still in the ticket_search room: AA-13268 is picked (★), assessed P1 / open, and the room marks it ✓ Ready to hand off. We've reviewed the triage report and chosen the bug worth fixing — only now do we leave triage for the pipeline.

  4. go_bugfix hands AA-13268 into the imported autonomous bugfix pipeline. The run enters bf.reproducing — the agent now owns the fix end to end, and each operator accept advances it exactly one room.

  5. Now we're in the pipeline. bf.reproducing confirms the bug is real before touching code: it stands up the environment, follows the steps (create alpha, create beta, list re-renders empty), and verifies the note list really does vanish. Accept to move on.

  6. bf.proposing — root cause: the list re-render reuses the same array reference, so React's diff bails out. The proposal: replace the in-place splice with a new array on add. Accept the proposal.

  7. bf.implementing — the agent edits NotesList.tsx in an isolated worktree, applying exactly the proposed change. Accept to run the tests.

  8. bf.testing — a regression test is added and the suite runs green: 4 passed, 0 failed. The fix is proven, not just plausible. Accept to self-review.

  9. bf.reviewing — the agent reviews its own diff for scope creep and unintended changes before anyone else sees it. Accept to validate end to end.

  10. bf.validating — a full end-to-end check: build ok, UI shows both notes, the originally-reported symptom is gone. Accept to close out.

  11. bf.done — the pipeline has reproduced, fixed, tested, reviewed and validated the bug. One last accept opens the pull request and transitions the ticket to resolved.

  12. pr.open_pr — the validated fix is pushed to fix/AA-13268, the PR is opened, and AA-13268 transitions to resolved. The whole arc — triage to merged-ready PR — ran as one deterministic graph, no LLM in the loop.

  13. You watched triage pick a fixable bug and hand it to an autonomous pipeline that reproduced, proposed, implemented, tested, reviewed, validated, and shipped the fix as a PR — every room a deterministic, replayable state-machine step. Hit '?' anytime to replay this tour.