FN-7977: hold Plan Review provider failures without replan regression
Prevent provider, model, transport, and abort failures from bouncing tasks back to planning after they enter execution.
- Classify non-plan-defect Plan Review failures and skip needs-replan handoff
- Terminate graph traversal with plan-review-provider-failure-hold and retry in place
- Guard triage recovery so advanced column/worktree/step state is never overwritten
- Document planning-recovery no-regression invariant and add regression tests
- Add patch changeset for the operator-facing fix
Files changed:
.changeset/fn-7977-planning-failure-no-regression.md | 7 ++
docs/architecture.md | 1 +
docs/workflow-steps.md | 2 +-
packages/engine/src/__tests__/replan-target.test.ts | 17 +++-
packages/engine/src/__tests__/transient-error-detector.test.ts | 32 +++++-
packages/engine/src/__tests__/triage.test.ts | 110 +++++++++++++++++++++
packages/engine/src/__tests__/workflow-graph-optional-group.test.ts | 46 ++++++++-
packages/engine/src/__tests__/workflow-graph-optional-step-fix.test.ts | 36 +++++++
packages/engine/src/executor.ts | 62 +++++++++++-
packages/engine/src/replan-target.ts | 22 +++++
packages/engine/src/transient-error-detector.ts | 37 +++++++
packages/engine/src/triage.ts | 73 +++++++++++---
packages/engine/src/workflow-graph-executor.ts | 45 ++++++++-
13 files changed, 466 insertions(+), 24 deletions(-)
Fusion-Task-Id: FN-7977
Fusion-Task-Lineage: 6d62d3ca-c6f3-4d02-a377-d7fd59f0c0f9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>