Fusion Agent
|
10c399d01e
|
FN-120: fix workspace review evidence and landing recovery
Harden workspace review evidence and automatic landing recovery across workflow execution and merge paths.
- Preserve per-repository review evidence and reroute recoverable workspace review failures.
- Improve workflow lifecycle validation, continuation handling, and automatic recovery for workspace landing.
- Add regression coverage and document the updated workspace behavior.
Files changed:
.changeset/fn-120-workspace-review-landing.md | 7 ++
docs/architecture.md | 4 +
...e-empty-merge-boundary-finalization-livelock.md | 4 +
docs/testing.md | 4 +
docs/workflow-steps.md | 4 +
docs/workspaces.md | 6 +
.../__tests__/builtin-coding-workflow-ir.test.ts | 11 +-
...workspace-worktrees-concurrent-merge.pg.test.ts | 20 +++
packages/core/src/db/legacy-adoption.ts | 4 +
packages/core/src/store.ts | 5 +-
.../task-store/async/async-workflow-workitems.ts | 21 ++++
packages/core/src/task-store/task-mutation-ops.ts | 20 ++-
.../src/task-store/workflow-workitems-ops-2.ts | 6 +-
.../workflows/builtin-coding-ideas-workflow-ir.ts | 9 +-
.../src/workflows/builtin-coding-workflow-ir.ts | 20 ++-
.../builtin-stepwise-coding-workflow-ir.ts | 21 +++-
...tin-stepwise-final-review-coding-workflow-ir.ts | 13 +-
.../src/workflows/workflow-lifecycle-validation.ts | 28 ++++-
.../__tests__/builtin-workflows-lifecycle.test.ts | 4 +
.../engine/src/__tests__/project-engine.test.ts | 79 ++++++++++++
.../graph-node-missing-worktree-recovery.test.ts | 32 ++++-
.../src/__tests__/reviewer-workspace.test.ts | 2 +
.../src/__tests__/task-pipeline-smoke.test.ts | 10 +-
.../src/__tests__/workflow-task-runtime.test.ts | 10 +-
.../engine/src/__tests__/workspace-e2e.test.ts | 29 +++++
.../engine/src/__tests__/workspace-merger.test.ts | 4 +-
.../__tests__/workspace-review-evidence.test.ts | 58 +++++++++
packages/engine/src/execution/reviewer.ts | 2 +
.../create-authoritative-workflow-seams.ts | 59 +++++----
.../engine/src/executor/execute-workflow-graph.ts | 29 ++++-
packages/engine/src/executor/graph-failure-pure.ts | 6 +
.../engine/src/executor/handle-graph-failure.ts | 26 ++++
...-unusable-worktree-graph-failure-to-recovery.ts | 22 +++-
.../engine/src/executor/run-graph-custom-node.ts | 4 +-
.../src/executor/workspace-review-per-repo.ts | 55 +++++----
packages/engine/src/merge/merger-ai.ts | 137 ++++++++++-----------
.../engine/src/merge/workspace-review-reroute.ts | 52 ++++++++
packages/engine/src/project-engine.ts | 47 +++++++
.../self-healing/auto-recover-worktree-session.ts | 2 +-
.../src/workflows/workflow-graph-executor.ts | 28 ++++-
.../engine/src/workflows/workflow-merge-nodes.ts | 6 +-
.../src/worktree/workspace-review-evidence.ts | 110 +++++++++++++++++
.../engine/src/worktree/worktree-acquisition.ts | 24 +++-
43 files changed, 874 insertions(+), 170 deletions(-)
Fusion-Task-Id: FN-120
Fusion-Task-Lineage: 61c36613-89bd-44ca-8676-de77662bf53e
Co-authored-by: Fusion <noreply@runfusion.ai>
|
2026-08-23 01:36:12 +00:00 |
|
Fusion Agent
|
2430ce69b0
|
FN-112: capture workspace merge evidence from task worktrees
Capture workspace merge evidence from immutable acquisition baselines to persisted task branches so real linked task worktrees land reviewed changes reliably.
- Compare review fingerprints and landing ranges against the persisted task branch rather than the live worktree HEAD.
- Add linked-task-worktree regression coverage for per-repository landing proof and exactly-once finalization.
- Document the regression and publish the workspace merge fix in a patch changeset.
Files changed:
.../fn-112-workspace-task-worktree-evidence.md | 7 ++++
docs/architecture.md | 1 +
...e-empty-merge-boundary-finalization-livelock.md | 8 +++-
.../engine/src/__tests__/_workspace-fixture.ts | 15 ++++++++
.../engine/src/__tests__/workspace-e2e.test.ts | 31 ++++++++++++---
.../__tests__/workspace-merger-scope-gates.test.ts | 2 +-
.../engine/src/__tests__/workspace-merger.test.ts | 45 +++++++++++++++++++++-
packages/engine/src/merge/merger-ai.ts | 29 ++++++++++++--
8 files changed, 125 insertions(+), 13 deletions(-)
Fusion-Task-Id: FN-112
Fusion-Task-Lineage: 66e8498e-13f2-461b-ae38-bf750383115b
Co-authored-by: Fusion <noreply@runfusion.ai>
|
2026-08-23 01:35:06 +00:00 |
|
Fusion Agent
|
c91e5ce42d
|
FN-106: prevent workspace finalization livelock
Repair workspace merge-boundary finalization so empty repository sets cannot loop indefinitely.
- Track workspace merge readiness and durable per-repository obligations.
- Gate landing and recovery on scope, blockers, leases, and checkout ownership.
- Preserve remediation state, add recovery paths, documentation, and regression coverage.
Files changed:
.../fn-106-workspace-finalization-livelock.md | 7 ++
docs/architecture.md | 6 ++
...e-empty-merge-boundary-finalization-livelock.md | 40 ++++++++++
docs/workflow-steps.md | 4 +
packages/cli/src/commands/__tests__/task.test.ts | 2 +
...workspace-worktrees-concurrent-merge.pg.test.ts | 23 ++++++
packages/core/src/store.ts | 9 ++-
packages/core/src/task-store/task-mutation-ops.ts | 49 +++++++++++-
packages/core/src/task-store/task-update.ts | 6 +-
packages/core/src/types/task/task-core.ts | 7 ++
.../engine/src/__tests__/executor-test-helpers.ts | 6 ++
.../executor-workspace-main-checkout-guard.test.ts | 8 +-
.../executor-workspace-session-cwd.test.ts | 37 +++++++++
.../engine/src/__tests__/project-engine.test.ts | 14 +++-
.../src/__tests__/reviewer-workspace.test.ts | 72 ++++++++++++++++-
.../__tests__/workspace-merge-readiness.test.ts | 46 +++++++++++
.../workspace-merger-idempotency.slow.test.ts | 15 ++--
.../src/__tests__/workspace-merger-lease.test.ts | 4 +-
.../workspace-root-worktree-routing.test.ts | 47 +++++++++++
.../create-authoritative-workflow-seams.ts | 2 +
.../engine/src/executor/create-task-done-tool.ts | 15 ++++
.../executor/ensure-graph-custom-node-worktree.ts | 8 ++
.../request-pre-merge-optional-step-fix.ts | 49 +++++++++++-
.../engine/src/executor/run-graph-custom-node.ts | 24 ++++--
packages/engine/src/executor/run-implementation.ts | 9 +++
packages/engine/src/executor/send-task-back-for-fix.ts | 4 +-
.../src/executor/workspace-main-checkout-guard.ts | 26 +++++-
.../src/executor/workspace-review-remediation.ts | 54 +++++++++++++
.../src/executor/worktree-verify-invariants.ts | 2 +-
packages/engine/src/merge/merger-ai.ts | 93 +++++++++++++++++-----
.../engine/src/merge/workspace-merge-readiness.ts | 64 +++++++++++++++
packages/engine/src/project-engine.ts | 37 +++++++--
packages/engine/src/self-healing.ts | 54 ++++++++++---
.../engine/src/worktree/worktree-acquisition.ts | 20 ++++-
34 files changed, 787 insertions(+), 76 deletions(-)
Fusion-Task-Id: FN-106
Fusion-Task-Lineage: 70b5c13d-9e17-419d-90ac-7258697657ef
Co-authored-by: Fusion <noreply@runfusion.ai>
|
2026-08-21 14:41:37 +00:00 |
|
gsxdsm
|
0e4c0c713e
|
FN-8995: reconcile durable-write inventory drift
Keep the durable-write inventory synchronized while preserving reviewed lifecycle verdicts.
- Add fail-closed manifest regeneration and regression coverage.
- Reconcile current call-site structure while retaining equivalent verdicts through module moves.
- Clarify durable wedge-notification writer classification and regeneration guidance.
Files changed:
.../merge-orphan-body-durable-write-fences.md | 18 +-
.../__tests__/_merge-durable-write-callsites.ts | 84 +-
.../merge-orphan-durable-write-inventory.json | 15414 +++++++++----------
...ge-orphan-durable-write-inventory-drift.test.ts | 88 +-
4 files changed, 7836 insertions(+), 7768 deletions(-)
Fusion-Task-Id: FN-8995
Fusion-Task-Lineage: df3d27ca-6614-418d-b09f-e1dd9f49f910
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-11 15:29:44 -07:00 |
|
gsxdsm
|
5134a55b77
|
FN-8958: fence orphaned merge-body writes
Prevent cancelled merge generations from writing stale task state.
- Add a signal-aware merge write fence with orphan audit reporting.
- Fence merge finalization, post-push metadata, and recovery-branch task logs.
- Cover durable write callsites and cancellation behavior with tests and guidance.
Files changed:
.changeset/fn-8958-orphan-merge-write-fence.md | 7 +
AGENTS.md | 1 +
.../reliability/orphan-merge-body-write-fence.md | 68 ++
.../__tests__/_merge-durable-write-callsites.ts | 4 +
.../merge-orphan-durable-write-inventory.json | 982 +++++++++++----------
.../merge-orphan-body-durable-writes.test.ts | 38 +-
.../engine/src/__tests__/merge-write-fence.test.ts | 39 +
.../engine/src/merge/auto-merge-finalization.ts | 9 +
packages/engine/src/merge/merge-write-fence.ts | 92 ++
packages/engine/src/merge/merger-ai.ts | 173 ++--
10 files changed, 875 insertions(+), 538 deletions(-)
Fusion-Task-Id: FN-8958
Fusion-Task-Lineage: 5f398c44-4320-4f0c-be15-707184f66aa8
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-11 15:20:19 -07:00 |
|
gsxdsm
|
d749a11a5b
|
FN-8923: document orphan merge durable-write fences
Record the bounded cancellation frontier for orphaned AI merge bodies.
- Add AST-derived durable-writer inventory and drift guard for the pinned merge closure.
- Characterize orphan and successor merge-lane writes with production-path fixtures.
- Document unresolved follow-ups and link the fence from the architecture guide.
Files changed:
docs/architecture.md | 2 +-
.../merge-orphan-body-durable-write-fences.md | 92 +
.../__tests__/_merge-durable-write-callsites.ts | 938 ++
.../merge-orphan-durable-write-inventory.json | 9965 ++++++++++++++++++++
.../merge-orphan-body-durable-writes.test.ts | 348 +
...ge-orphan-durable-write-inventory-drift.test.ts | 56 +
packages/engine/src/merge/merger-ai.ts | 6 +
packages/engine/src/project-engine.ts | 6 +
8 files changed, 11412 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-8923
Fusion-Task-Lineage: 5b2d278c-1626-439a-affd-077f2de2aef1
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-10 17:55:46 -07:00 |
|
gsxdsm
|
b9c5df04af
|
FN-8791: prevent NUL-containing chat checkpoints from crashing
Prevent malformed tool output from breaking chat checkpoint persistence.
- Sanitize NUL characters at chat JSONB persistence boundaries without mutating clean values.
- Observe rejected best-effort checkpoint writes so streaming sessions do not emit unhandled rejections.
- Add PostgreSQL, dashboard, and sanitizer regression coverage with operator-facing release notes.
Files changed:
.changeset/fn-8791-chat-nul-checkpoint.md | 7 ++
.../reliability/chat-jsonb-nul-sanitization.md | 44 +++++++++++
packages/core/src/__tests__/nul-sanitize.test.ts | 21 ++++-
.../chat-store-content-search-edit.pg.test.ts | 91 +++++++++++++++++++++-
packages/core/src/async-stores/async-chat-store.ts | 61 ++++++++++-----
packages/core/src/postgres/nul-sanitize.ts | 17 ++--
.../dashboard/src/__tests__/chat-manager.test.ts | 90 +++++++++++++++++++++
packages/dashboard/src/chat.ts | 21 ++++-
8 files changed, 322 insertions(+), 30 deletions(-)
Fusion-Task-Id: FN-8791
Fusion-Task-Lineage: 51e13634-04cc-4827-b72f-f33e40760940
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
|
2026-08-04 19:15:20 -07:00 |
|