FN-8592: self-heal stranded hold continuations
Restore graph-owned plan-review continuations for eligible hold-column cards stranded after planning cancellation.
- Detect real-spec hold cards with no active workflow continuation and re-seed Plan Review safely.
- Serialize workflow continuation seeding, review-result writes, and lease claims to prevent duplicate recovery.
- Add recovery diagnostics, release warnings, regression coverage, and a patch changeset.
Files changed:
.changeset/fn-8592-stranded-hold-continuation.md | 7 +
AGENTS.md | 1 +
docs/architecture.md | 4 +
.../workflow-task-serialization-protocol.test.ts | 119 +++++++++++++
.../workflow-work-items-conditional-seed.test.ts | 191 +++++++++++++++++++++
packages/core/src/store.ts | 5 +-
.../src/task-store/async-workflow-workitems.ts | 123 +++++++++----
packages/core/src/task-store/project-store-ops.ts | 14 ++
.../src/task-store/workflow-task-create-ops.ts | 16 +-
.../src/task-store/workflow-workitems-ops-2.ts | 91 ++++++----
.../src/__tests__/pre-release-plan-review.test.ts | 17 ++
...self-healing-stranded-hold-continuation.test.ts | 171 ++++++++++++++++++
packages/engine/src/hold-release.ts | 57 +++++-
packages/engine/src/plan-review-continuation.ts | 94 ++++++++++
packages/engine/src/runtimes/in-process-runtime.ts | 30 +---
packages/engine/src/self-healing.ts | 100 ++++++++++-
16 files changed, 945 insertions(+), 95 deletions(-)
Fusion-Task-Id: FN-8592
Fusion-Task-Lineage: fe7ffd34-96e4-4418-a879-7418e6293d30
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>