From 3aa32a846c9b59ff07d545e183d38e2d24903cb5 Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Sun, 9 Aug 2026 15:16:12 -0700 Subject: [PATCH] FN-8910: allow held tasks to remediate review findings Allow pre-merge remediation to proceed under project-level merge holds while preserving task-level operator holds. - Restrict remediation holds to operator-authored task-level auto-merge settings - Record remediation and revision-budget refusals for parked review tasks - Keep fire-and-forget remediation failures in their review lane - Cover shared-branch recovery behavior and document the policy Files changed: .changeset/fn-8910-premerge-remediation-hold.md | 7 ++ docs/workflow-steps.md | 2 + packages/core/src/__tests__/task-merge.test.ts | 44 ++++++------- packages/core/src/merge/task-merge.ts | 20 +++--- .../__tests__/executor-graph-requeue-gate.test.ts | 60 ++++++++++++++++- ...cutor-live-branch-group-auto-merge-hold.test.ts | 63 ++++++++++++++++-- .../workflow-graph-optional-step-fix.test.ts | 24 +++++-- .../src/__tests__/workflow-task-runtime.test.ts | 10 ++- packages/engine/src/executor.ts | 76 ++++++++++++++++++---- 9 files changed, 244 insertions(+), 62 deletions(-) Fusion-Task-Id: FN-8910 Fusion-Task-Lineage: b5e10f87-67cf-4acf-b125-91be5ade17a8 Co-authored-by: Fusion (runfusion.ai) --- .../fn-8910-premerge-remediation-hold.md | 7 ++ docs/workflow-steps.md | 2 + .../core/src/__tests__/task-merge.test.ts | 42 +++++----- packages/core/src/merge/task-merge.ts | 20 +++-- .../executor-graph-requeue-gate.test.ts | 60 ++++++++++++++- ...-live-branch-group-auto-merge-hold.test.ts | 63 +++++++++++++-- .../workflow-graph-optional-step-fix.test.ts | 24 +++++- .../__tests__/workflow-task-runtime.test.ts | 10 ++- packages/engine/src/executor.ts | 76 ++++++++++++++++--- 9 files changed, 243 insertions(+), 61 deletions(-) create mode 100644 .changeset/fn-8910-premerge-remediation-hold.md diff --git a/.changeset/fn-8910-premerge-remediation-hold.md b/.changeset/fn-8910-premerge-remediation-hold.md new file mode 100644 index 0000000000..03f07ff72b --- /dev/null +++ b/.changeset/fn-8910-premerge-remediation-hold.md @@ -0,0 +1,7 @@ +--- +"@runfusion/fusion": patch +--- + +summary: Review REVISE now schedules fixes for shared-branch tasks in auto-merge-off projects. +category: fix +dev: Narrows hasPreMergeRemediationAutoMergeHold; logs both executor recovery-budget refusals and guards the resume router. diff --git a/docs/workflow-steps.md b/docs/workflow-steps.md index 24192398b4..3ed4a0d613 100644 --- a/docs/workflow-steps.md +++ b/docs/workflow-steps.md @@ -757,6 +757,8 @@ Authoritative cutover now depends on existing/current parity summary evidence, n If a task is found in `in-review` with failed pre-merge workflow results and no active executor, self-healing can auto-revive it by replaying the same remediation send-back flow. Generic optional gates use the resolved workflow/project budget; built-in Plan Review and most Code Review groups are unbounded unless workflow settings or node config set a numeric cap. Compound Engineering's Code Review node supplies a two-pass cap. +Project-level `autoMerge: false` gates **merge admission**, not pre-merge remediation: Plan Review replans, Code Review/optional-gate fixes, required-artifact recovery, and failed-step revival remain available for shared-branch members and standalone tasks. Only an operator-authored task-level auto-merge Off fences those remediation seams. Every such hold or revision-budget refusal is recorded on the task; when a fire-and-forget remediation node cannot schedule after implementation is complete, the card stays visibly parked in its resolved review lane with its merge blocker rather than bouncing back to planning. +