You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(workflow): on node failure, return upstream and retry (e.g. Review fail → Rework) #1526
Workflow feels “dead” when a node fails: there is no way to recover by going back. Owner example: Review fails → go back to Rework, rework, then Review again.
Wanted: a failed node can route back upstream and re-run that path, instead of ending the whole run as Failed with no recovery.
Current behaviour (main)
Live fail (Bot ok: false, model-call failure text, etc.) calls failNode; unless the node has demo-only failOnce, the run stops (service.js: “Any other failure stops the run”).
Graph already has success-path loops (loop: true + max + optional until on outputs) and Settings can add loop links — those are not failure recovery.
retryNode only restarts the same failed node (demo / scripted path); it does not reset upstream Rework → Review.
Model-call failure replies are explicitly not retried in a loop (README).
Expected
Owner can express “when this node fails, go back to node X and continue” on the graph (e.g. Review → Rework on failure), editable in Settings like other edges/loops.
On a live fail that has such a recovery edge: re-queue / re-run from the upstream target through the failing node again (clear or re-queue intermediate statuses as needed), with a max attempts bound so it cannot spin forever.
Stage / run chrome shows the recovery (retry / back-edge), not a silent dead Failed.
If no recovery edge (or attempts exhausted), keep today’s stop-as-failed behaviour.
Optional but welcome: a stage control to Retry from … / re-run from an upstream node on a failed or stopped live run when a recovery path exists.
Non-goals
Do not require failOnce demo flag for real recovery.
Do not remove existing success-path loop / when edges.
Activity
feat(workflow): add failure recovery to return upstream on node failure
feat(workflow): add failure recovery to return upstream on node failure