Files
fusion/packages/core
Fusion Agent db254241f1 FN-180: enforce merge execution and current review gates
Prevent merge progression while execution is active and require current, content-matched review approval before finalization.

- Add shared pre-merge approval and content descriptor gates.
- Exclude actively executing tasks from merge and reconcile confirmed merges safely.
- Centralize step reopening and strengthen merge lifecycle, audit, and regression coverage.

Files changed:
 ...80-merge-execution-exclusion-and-review-gate.md |   7 +
 docs/architecture.md                               |   1 +
 docs/run-audit.md                                  |   2 +
 docs/testing.md                                    |   5 +
 docs/workflow-steps.md                             |   2 +
 .../confirmed-merge-reconciliation.test.ts         |  17 ++
 .../src/__tests__/pre-merge-approval-gate.test.ts  |  33 ++++
 .../__tests__/pre-merge-approval-workspace.test.ts |  30 +++
 .../src/__tests__/required-pre-merge-steps.test.ts |  47 ++++-
 packages/core/src/__tests__/task-merge.test.ts     |   9 +-
 packages/core/src/db/legacy-adoption.ts            |   7 +
 packages/core/src/index.gate.ts                    |  11 +-
 packages/core/src/index.ts                         |  11 +-
 .../src/merge/confirmed-merge-reconciliation.ts    |  34 ++++
 .../core/src/merge/merge-content-descriptor.ts     |  10 +
 packages/core/src/merge/pre-merge-approval.ts      |  71 +++++++
 .../core/src/merge/required-pre-merge-steps.ts     |  69 +++++++
 packages/core/src/merge/task-merge.ts              |  35 ++--
 packages/core/src/task-store/merge-queue-ops.ts    |  50 ++---
 .../src/workflows/workflow-step-reopen-policy.ts   |  18 ++
 .../__tests__/ChatView.core-contracts.test.tsx     |   5 +-
 .../__tests__/ChatView.core-interactions.test.tsx  |   5 +-
 .../components/__tests__/ChatView.core.test.tsx    |   5 +-
 .../components/__tests__/ChatView.draft.test.tsx   |   5 +-
 .../__tests__/ChatView.message-edit.test.tsx       |   5 +-
 .../__tests__/ChatView.mobile-render.test.tsx      |   5 +-
 .../components/__tests__/ChatView.mobile.test.tsx  |   5 +-
 .../__tests__/ChatView.scroll-to-top.test.tsx      |   5 +-
 .../__tests__/ChatView.sessions-rooms.test.tsx     |   5 +-
 .../__tests__/ChatView.thinking-level.test.tsx     |   5 +-
 .../confirmed-merge-must-finalize.test.ts          |  32 ++++
 .../src/__tests__/executor-step-session.test.ts    |  29 ++-
 .../src/__tests__/manual-merge-bypass.test.ts      |   1 +
 .../merge-abort-clears-transient-status.test.ts    |  66 ++++---
 .../merge-content-descriptor-doors.test.ts         |  28 +++
 .../__tests__/merge-execution-exclusion.test.ts    |  65 +++++++
 .../__tests__/merge-gate-single-authority.test.ts  |  28 +++
 .../src/__tests__/merge-inflight-revoke.test.ts    |  26 +++
 .../merge-worktree-removal-live-session.test.ts    |  29 +++
 .../engine/src/__tests__/merger-ai-cleanup.test.ts |   8 +-
 .../src/__tests__/merger-merge-lifecycle.test.ts   |  11 +-
 .../__tests__/step-reopen-single-authority.test.ts | 116 ++++++++++++
 .../workflow-graph-optional-step-fix.test.ts       |  10 +
 .../engine/src/__tests__/workspace-merger.test.ts  |  13 +-
 .../engine/src/executor/cleanup-merge-state.ts     |  45 +----
 .../src/executor/finalize-already-reviewed-task.ts |  20 +-
 .../src/executor/recover-failed-pre-merge-step.ts  |   7 +-
 .../src/executor/reopen-last-step-for-revision.ts  |  41 +----
 .../request-pre-merge-optional-step-fix.ts         |  13 +-
 packages/engine/src/executor/reset-merge-state.ts  |   7 +-
 .../src/executor/review-convergence-ladder.ts      |   6 +
 packages/engine/src/executor/run-implementation.ts |  33 +++-
 .../engine/src/merge/auto-merge-finalization.ts    |  49 +++--
 packages/engine/src/merge/merge-content-capture.ts |  49 +++++
 .../engine/src/merge/merge-execution-exclusion.ts  |  47 +++++
 packages/engine/src/merge/merger-ai.ts             | 204 ++++++++++++++++-----
 packages/engine/src/merge/merger-errors.ts         |  13 ++
 packages/engine/src/merger.ts                      |  29 ++-
 packages/engine/src/project-engine.ts              | 153 ++++++++++++----
 .../engine/src/run-audit/run-audit-catalogue.ts    |  12 ++
 packages/engine/src/self-healing.ts                |  36 ++--
 packages/engine/src/util/run-audit.ts              |   4 +
 .../engine/src/worktree/review-diff-fingerprint.ts |  36 +++-
 .../src/worktree/workspace-review-evidence.ts      |   2 +-
 64 files changed, 1420 insertions(+), 367 deletions(-)

Fusion-Task-Id: FN-180

Fusion-Task-Lineage: 4c2cdae0-be25-49c9-a918-60768ddc7686

Co-authored-by: Fusion <noreply@runfusion.ai>
2026-08-23 09:22:26 +00:00
..
2026-08-21 07:44:32 -07:00