Fusion Agent
3717fc5af1
FN-107: block single-repository worktree acquisition
Prevent single-repository worktree acquisition from proceeding without explicit multi-repository workspace context.
- Require workspace-aware acquisition for single-repository tasks.
- Propagate acquisition origin and workspace configuration through executor, merger, and recovery paths.
- Add regression coverage, documentation, and a release changeset for the blocked behavior.
Files changed:
.changeset/fn-107-single-repo-worktree.md | 7 ++
docs/architecture.md | 4 +
docs/testing.md | 4 +
packages/core/src/branch/branch-assignment.ts | 12 +++
packages/core/src/index.gate.ts | 1 +
packages/core/src/index.ts | 1 +
packages/core/src/task-store/task-creation.ts | 4 +-
packages/core/src/task-store/task-update.ts | 4 +-
.../src/routes/register-planning-subtask-routes.ts | 1 +
.../engine/src/__tests__/executor-test-helpers.ts | 12 +++
.../engine/src/__tests__/executor-worktree.test.ts | 44 ++++++---
.../src/__tests__/node-worktree-isolation.test.ts | 7 +-
.../task-branch-write-origin-census.test.ts | 49 ++++++++++
.../worktree-acquisition-workspace.test.ts | 6 +-
.../src/__tests__/worktree-acquisition.test.ts | 103 ++++++++++++++++++---
.../engine/src/executor/handle-graph-failure.ts | 16 +++
.../src/executor/workspace-config-resolver.ts | 1 +
.../executor/worktree-branch-conflict-handle.ts | 1 +
packages/engine/src/merger.ts | 3 +-
packages/engine/src/self-healing.ts | 6 +
.../self-healing/auto-recover-worktree-session.ts | 10 +-
.../src/workflows/workflow-graph-executor.ts | 7 +-
.../engine/src/worktree/worktree-acquisition.ts | 73 +++++++++++++-
23 files changed, 334 insertions(+), 42 deletions(-)
Fusion-Task-Id: FN-107
Fusion-Task-Lineage: 80df9dae-59a0-416e-8a02-6ab2dba9bb00
Co-authored-by: Fusion <noreply@runfusion.ai>
2026-08-21 14:41:37 +00:00
..
2026-08-21 14:41:37 +00:00
2026-08-16 08:32:46 -07:00
2026-08-20 03:57:23 +00:00
2026-08-19 21:42:29 -07:00
2026-08-03 00:20:53 -07:00
2026-08-15 21:57:22 -07:00
2026-08-07 21:43:28 -07:00
2026-08-10 12:01:25 -07:00
2026-08-03 00:20:53 -07:00
2026-08-21 04:35:58 +00:00
2026-08-21 14:41:37 +00:00
2026-08-17 23:49:33 -07:00
2026-08-03 00:20:53 -07:00
2026-08-19 23:20:27 -07:00
2026-08-19 21:42:29 -07:00
2026-08-03 00:20:53 -07:00
2026-08-10 17:50:27 -07:00
2026-08-11 05:45:36 -07:00
2026-08-21 04:35:58 +00:00
2026-08-19 22:37:12 -07:00
2026-08-11 12:34:47 -07:00
2026-08-19 23:20:27 -07:00
2026-08-19 22:37:12 -07:00
2026-08-19 23:20:27 -07:00
2026-08-03 00:20:53 -07:00
2026-08-19 21:42:29 -07:00
2026-08-09 15:23:59 -10:00
2026-08-11 05:45:36 -07:00
2026-08-19 19:34:53 -07:00
2026-08-19 23:20:27 -07:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-21 14:41:37 +00:00
2026-08-03 00:20:53 -07:00
2026-08-03 00:20:53 -07:00
2026-08-19 22:37:12 -07:00
2026-08-07 20:27:04 -07:00
2026-08-21 14:41:37 +00:00
2026-08-21 14:41:37 +00:00
2026-08-03 00:20:53 -07:00
2026-08-15 16:51:54 -07:00
2026-08-21 04:35:58 +00:00
2026-07-30 21:50:37 -07:00
2026-08-19 23:20:27 -07:00
2026-08-04 10:52:12 -07:00
2026-08-02 17:06:38 -07:00
2026-08-09 15:46:09 -10:00
2026-08-17 23:49:33 -07:00
2026-08-19 22:44:46 -07:00
2026-08-18 21:09:03 -07:00
2026-08-19 22:37:12 -07:00
2026-08-21 14:41:37 +00:00
2026-08-20 03:57:23 +00:00
2026-08-12 21:24:53 -07:00
2026-08-04 00:20:08 -07:00
2026-08-19 21:01:56 -07:00
2026-08-11 21:44:22 -07:00
2026-08-09 04:50:30 -07:00
2026-08-21 04:34:43 +00:00
2026-08-19 22:37:12 -07:00
2026-08-14 22:10:35 -07:00
2026-08-21 14:41:37 +00:00
2026-08-10 16:44:19 -07:00
2026-07-30 23:13:34 -07:00
2026-08-21 04:35:58 +00:00
2026-08-19 23:20:27 -07:00
2026-08-09 17:04:55 -07:00