weft-debug
COMMAND, not reference: Inspect the last execution and chase the failure to one node. Run this when the user asks for this step by name, optionally naming an execution id. The seventeen `weft-` refere
SKILL.mdtangle/cline/.cline/skills/weft-debug/SKILL.md
GitHubDebug this project's latest run, or a specific run id if the user named one. Read the weft-debugging skill if you have not this session.
weft runs --limit 5 --phase fireand pick the run: the one the user named, else the latest.weft logs <run-id>first: it names the failing node and quotes the error, and for most failures that is the whole diagnosis. Then narrow the events instead of reading them all:weft events <run-id> --kind failedfor the failures,--node <id>for what reached one node,--kind node_skippedfor what did not run and why,--fullon the one line whose value you need whole.- Chase it to one node:
- A failed node: name it, quote its error, list the values that reached its inputs (its
node_startedline), and read the relevant source. - A wrong value: the motion backwards. Look at the top-level groups in
src/main.weft, find the first whose output is already wrong in the events, descend into it, repeat, until you hold the single node whose value went wrong and the concrete input that broke it. - Suspended: say where it waits and for whom; if nobody should have been asked, the bug is the
_should_flowthat routed there. - Cancelled: read the reason on its
run_cancelledline, then go and read item 5 of theweft-debuggingskill for what each reason means and how to recover. - Nothing ran: nothing reached the branch; walk from the trigger (or the root) down to the first node whose
_should_flowor required input closed.
- A failed node: name it, quote its error, list the values that reached its inputs (its
- Name one fix, in two or three sentences: what you will change and why that fixes the observed value, not just the symptom. Apply it, validate, and run the same case again. Ask first only when the fix changes what the program does for the user, or when it would spend money or destroy state.
Report, in plain words: the run id and status, the node and value at fault, the fix and whether it ran again green or waits on the user's yes. No hedging, no blaming the environment.