bug-fixer
Bug fixer — five phases
Validate a report, reproduce it, draft the fix, review it, publish it. The shape, the typed hand-off between phases and the human gate are already wired; the expertise is yours to add.
| Source | templates/bug-fixer.yaml |
| Category | development |
| Trigger | manual only (wfx run) |
| Steps | 5 |
| Human approval before | publish |
| Providers named | default (WFX_DEFAULT_PROVIDER) |
Use it
Section titled “Use it”wfx templates bug-fixerwfx new bug-fixer --as my-bug-fixerwfx dryrun my-bug-fixerWhat it does
Section titled “What it does”The five-phase bug fix. Each phase is a whole agent with its own identity, scoped tools, budget and output contract, and no phase can hand work to the next until its output validates. Two phases stop for a human: one when the report is too thin to act on, one before anything leaves the machine.
What you fill in
Section titled “What you fill in”- skills on each phase — every step ships with none, so each is yours to equip
- the publish step’s command: this template stops at a branch and pushes nothing
- budgets, if your repository is larger or slower than the defaults assume
Inputs
Section titled “Inputs”| Input | Type | Default | Required | Meaning |
|---|---|---|---|---|
title |
string | yes | ||
description |
string | yes | ||
repo_url |
string | |||
repo_path |
string | |||
base_branch |
string | "main" |
||
extra_context |
string | |||
isolate |
boolean | true |
| # | Step | Kind | Skills | Gates |
|---|---|---|---|---|
| 1 | validateValidate the report |
agent | valid = false → needs_input |
|
| 2 | reproduceReproduce it |
agent | reproduced = false → needs_input |
|
| 3 | fixDraft the fix |
agent | fixed = false → fail |
|
| 4 | reviewReview the change |
agent | approved = false → fail |
|
| 5 | publishPublish |
agent | human approval first |
Human gates
Section titled “Human gates”publishwaits forwfx approve <run-id>(orwfx reject <run-id> -m "why") before it runs.validatepauses for input whenvalidisfalse: “Need more information: {{ join .Output.missing_info “ | “ }}”. Resume withwfx answer <run-id> -m "...".reproducepauses for input whenreproducedisfalse: “Could not reproduce. {{ .Output.root_cause_hypothesis }}”. Resume withwfx answer <run-id> -m "...".reproducemay callask_human; answer withwfx answer <run-id> -m "...".