FN-094: add mono- and multi-repository lifecycle parity
Extend workspace lifecycle behavior so mono-repository and multi-repository tasks share the same durable scope, workflow, review, and merge semantics.
- Add repository-scope persistence, migrations, serialization, and task mutation support.
- Align dashboard task creation, detail, and workspace worktree views with repository-aware lifecycle state.
- Extend executor, reviewer, merger, triage, and self-healing paths with parity coverage and tests.
- Document the lifecycle contract and publish the operator-facing changeset.
Files changed:
.changeset/fn-094-multi-repository-lifecycle.md | 7 +
docs/agents.md | 8 +
docs/architecture.md | 6 +
docs/dashboard-guide.md | 4 +
docs/multi-project.md | 6 +
docs/settings-reference.md | 2 +-
docs/testing.md | 12 ++
docs/workspaces.md | 6 +
...workspace-worktrees-concurrent-merge.pg.test.ts | 19 +++
packages/core/src/index.ts | 2 +-
.../core/src/postgres/migrations/0000_initial.sql | 1 +
.../0064_fn_094_task_repository_scope.sql | 2 +
packages/core/src/postgres/schema-applier.ts | 13 +-
packages/core/src/postgres/schema/project.ts | 2 +
packages/core/src/store.ts | 21 ++-
.../core/src/task-store/branch-and-pr-entities.ts | 2 +-
packages/core/src/task-store/persistence.ts | 4 +-
packages/core/src/task-store/serialization.ts | 2 +
packages/core/src/task-store/task-creation.ts | 31 ++++
packages/core/src/task-store/task-mutation-ops.ts | 131 +++++++++++++++-
packages/core/src/task-store/task-row-mappers.ts | 2 +-
packages/core/src/task-store/task-update.ts | 55 +++++--
packages/core/src/tasks/repository-scope.ts | 29 ++++
packages/core/src/types.ts | 4 +
packages/core/src/types/task/task-core.ts | 35 ++++-
packages/core/src/types/workflow/workflow-steps.ts | 21 +++
packages/dashboard/app/api/tasks/tasks.ts | 14 ++
packages/dashboard/app/components/NewTaskModal.tsx | 16 +-
.../dashboard/app/components/TaskDetailModal.css | 27 ++++
.../dashboard/app/components/TaskDetailModal.tsx | 15 +-
.../app/components/WorkspaceWorktreesSummary.tsx | 68 ++++++++-
.../app/components/__tests__/NewTaskModal.test.tsx | 1 +
.../__tests__/WorkspaceWorktreesSummary.test.tsx | 27 +++-
.../src/routes/register-task-workflow-routes.ts | 48 ++++++
.../__tests__/executor-workspace-taskdone.test.ts | 20 +++
.../src/__tests__/reviewer-workspace.test.ts | 170 ++++++++++++++++++++-
.../src/__tests__/self-healing-workspace.test.ts | 4 +
.../workflow-graph-optional-group.test.ts | 32 ++++
.../workflow-graph-optional-step-fix.test.ts | 58 +++++++
.../engine/src/__tests__/workspace-e2e.test.ts | 91 ++++++++++-
.../__tests__/workspace-lifecycle-parity.test.ts | 61 ++++++++
.../src/__tests__/workspace-merger-lease.test.ts | 25 +++
.../__tests__/workspace-merger-scope-gates.test.ts | 58 +++++++
.../engine/src/__tests__/workspace-merger.test.ts | 59 ++++++-
packages/engine/src/agent-tools.ts | 92 ++++++++++-
packages/engine/src/execution/reviewer.ts | 10 +-
.../create-authoritative-workflow-seams.ts | 95 ++++++++++--
.../engine/src/executor/execute-workflow-graph.ts | 37 ++++-
.../request-pre-merge-optional-step-fix.ts | 70 +++++++++
.../engine/src/executor/run-graph-custom-node.ts | 124 ++++++++++-----
.../engine/src/executor/workflow-step-verdict.ts | 6 +-
.../src/executor/workspace-review-per-repo.ts | 118 +++++++++++++-
.../src/executor/worktree-task-done-scope-leak.ts | 109 ++++++++++++-
packages/engine/src/merge/merger-ai.ts | 88 ++++++++++-
packages/engine/src/self-healing.ts | 19 ++-
packages/engine/src/triage.ts | 9 ++
.../src/workflows/workflow-graph-executor.ts | 73 +++++++--
.../engine/src/workflows/workflow-node-handlers.ts | 12 +-
58 files changed, 1962 insertions(+), 121 deletions(-)
Fusion-Task-Id: FN-094
Fusion-Task-Lineage: 483f958f-cc67-474e-9383-26856c329543
Co-authored-by: Fusion <noreply@runfusion.ai>