retrospective
Retrospective — what broke, why, and what to change
Daily and on demand: reads runs, failed steps, retries, approval waits and cost from the engine’s API, cites the run and step for every finding, proposes a concrete fix, and tracks whether earlier fixes held.
| Source | templates/retrospective/workflow.yaml |
| Category | debugging-ops |
| Trigger | manual (wfx run) · schedule 30 6 * * * |
| Steps | 6 |
| Human approval before | apply |
| Providers named | default (WFX_DEFAULT_PROVIDER) |
Use it
Section titled “Use it”wfx templates retrospectivewfx new retrospective --as my-retrospectivewfx dryrun my-retrospectiveWhat it does
Section titled “What it does”Reviews the engine’s runs: failures, retries, approval waits and token cost. Every finding cites a run and step and proposes a concrete change. Remembers earlier findings and reports whether their fixes held. Typed proposals (add/edit step, new workflow, memory fix, retire) each wait for a person’s approval; approved ones are applied, rejected ones are never proposed again.
What you fill in
Section titled “What you fill in”- env SINCE_HOURS: how far back a scheduled run looks (default 24)
- env WFX_TOKEN: a read-only token, when the API needs one
Inputs
Section titled “Inputs”| Input | Type | Default | Required | Meaning |
|---|---|---|---|---|
workflow |
string | "" |
||
runId |
string | "" |
||
question |
string | "" |
||
since_hours |
number | 24 |
||
mode |
string | "review" |
||
proposal |
object | {} |
||
fingerprint |
string | "" |
| # | Step | Kind | Skills | Gates |
|---|---|---|---|---|
| 1 | collectRead runs, failures, retries, waits and cost |
shell (run:) |
||
| 2 | analyzeSay what broke, why, and what to change |
agent | ||
| 3 | checkKeep only findings backed by evidence |
shell (run:) |
||
| 4 | proposeOne approval per proposal |
shell (run:) |
||
| 5 | showThe proposal to approve |
shell (run:) |
||
| 6 | applyApply the approved proposal |
shell (run:) |
human approval first |
Human gates
Section titled “Human gates”applywaits forwfx approve <run-id>(orwfx reject <run-id> -m "why") before it runs.