FN-7641: fix cards stranded after out-of-band/workspace merges by allowing proven-merge rehome
Fixes a state-machine bug family where cards got stranded after out-of-band or workspace merges landed: store.moveTask now allows a proven-merge recoveryRehome to cross legacy columns (e.g. todo→done), and nodeId='end' finalize no longer silently no-ops — it finalizes on durable merge proof or returns an explicit error, consistently across the dashboard route, the CLI task-update tool, and store.updateTask.
- packages/core/src/store.ts: allow proven-merge recoveryRehome moves across legacy columns (e.g. todo→done) instead of rejecting them
- packages/core/src/node-override-guard.ts: nodeId='end' finalize now checks for durable merge proof and returns an explicit error instead of silently no-op'ing
- packages/dashboard/src/routes/register-task-workflow-routes.ts: dashboard workflow route surfaces the new explicit finalize error/behavior
- packages/cli/src/extension.ts: CLI task-update tool surfaces the same explicit finalize error/behavior
- docs/task-management.md: documented the updated finalize/rehome behavior
- Added regression tests across core (node-override-guard, store-movement, task-node-override), dashboard (register-task-workflow-routes.nodeid-finalize), engine (merger-merge-lifecycle), and CLI (extension) covering the stranded-card invariant
- Added changeset for @runfusion/fusion (patch)
Files changed:
.changeset/fn-7641-stranded-cards-after-merge.md | 7 ++
docs/task-management.md | 2 +
packages/cli/src/__tests__/extension.test.ts | 59 ++++++++++++++
packages/cli/src/extension.ts | 10 +++
.../core/src/__tests__/node-override-guard.test.ts | 93 +++++++++++++++++++++
packages/core/src/__tests__/store-movement.test.ts | 94 ++++++++++++++++++++++
.../core/src/__tests__/task-node-override.test.ts | 73 +++++++++++++++++
packages/core/src/node-override-guard.ts | 69 +++++++++++++++-
packages/core/src/store.ts | 69 +++++++++++++++-
...er-task-workflow-routes.nodeid-finalize.test.ts | 90 +++++++++++++++++++++
.../src/routes/register-task-workflow-routes.ts | 10 +++
.../src/__tests__/merger-merge-lifecycle.test.ts | 58 +++++++++++++
12 files changed, 631 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-7641
Fusion-Task-Lineage: 48ea7851-ee68-48f1-92f9-302d0da5acff
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>