Fusion Agent
c1818ea819
FN-151: make task reset always complete
Make reset a reliable description-only fresh start by fencing active planning work and cleaning discarded execution state.
- Add reset lifecycle disposal for planning sessions, locks, artifacts, and reset worktrees.
- Preserve operator-provided descriptions while clearing stale execution and planning projections.
- Expose reset routes and add core, dashboard, and engine regression coverage.
Files changed:
.changeset/fn-151-task-reset-always-completes.md | 7 +
docs/architecture.md | 3 +
docs/dashboard-guide.md | 6 +-
.../postgres/task-reset-publication.pg.test.ts | 71 +++++++++-
.../core/src/__tests__/task-move-disposer.test.ts | 38 ++++++
packages/core/src/index.gate.ts | 2 +
packages/core/src/index.ts | 2 +
packages/core/src/task-store/reset-lifecycle.ts | 38 +++++-
packages/core/src/tasks/task-move-disposer.ts | 36 +++++-
.../src/__tests__/task-reset-lifecycle.test.ts | 110 +++++++++++++++-
.../src/routes/register-task-workflow-routes.ts | 29 +++--
.../src/__tests__/agent-document-tools.test.ts | 49 +++++++
.../src/__tests__/reset-worktree-removal.test.ts | 77 +++++++++++
.../__tests__/triage-reset-planning-fence.test.ts | 118 +++++++++++++++++
packages/engine/src/agent-tools.ts | 60 +++++++--
packages/engine/src/agents/planning-liveness.ts | 19 +++
packages/engine/src/index.ts | 4 +
packages/engine/src/plan-artifact-writeback.ts | 27 +++-
packages/engine/src/planning-reset-fence.ts | 26 +++
packages/engine/src/triage.ts | 143 +++++++++++++++++++--
packages/engine/src/worktree/remove-reset-worktree.ts | 65 ++++++++++
21 files changed, 882 insertions(+), 48 deletions(-)
Fusion-Task-Id: FN-151
Fusion-Task-Lineage: 1c25d58e-2d23-4340-a489-51f3e2d8a7f4
Co-authored-by: Fusion <noreply@runfusion.ai>
2026-08-23 01:36:32 +00:00
..
2026-08-23 01:36:32 +00:00
2026-07-16 14:08:43 -07:00
2026-08-18 22:11:22 -07:00
2026-08-23 01:36:32 +00:00
2026-08-20 03:57:23 +00:00
2026-08-09 09:14:56 -07:00
2026-08-13 16:39:11 -07:00
2026-08-15 14:40:55 -07:00
2026-08-20 03:55:38 +00:00
2026-08-20 03:55:38 +00:00
2026-07-26 12:01:19 -07:00
2026-08-21 04:32:53 +00:00
2026-08-21 04:32:53 +00:00
2026-08-21 04:32:53 +00:00
2026-08-09 13:33:16 -10:00
2026-07-26 13:15:36 -07:00
2026-07-19 18:45:27 -07:00
2026-08-18 17:55:31 -07:00
2026-08-21 10:18:45 -07:00
2026-07-22 18:46:46 -07:00
2026-08-20 03:57:23 +00:00
2026-08-21 04:34:43 +00:00
2026-07-17 12:00:26 -07:00
2026-07-13 19:07:58 -07:00
2026-07-03 21:45:20 -07:00
2026-06-05 03:56:29 -07:00
2026-06-15 02:30:41 -07:00
2026-06-05 03:41:54 -07:00
2026-07-02 15:00:40 -07:00
2026-07-09 19:58:03 -07:00
2026-08-09 04:37:47 -07:00
2026-07-19 18:59:36 -07:00
2026-07-26 12:01:19 -07:00
2026-07-13 23:16:36 -07:00
2026-07-26 13:15:36 -07:00
2026-07-15 10:07:20 -07:00
2026-07-15 19:29:02 -07:00
2026-06-30 00:03:37 -07:00
2026-07-30 12:03:07 -07:00
2026-06-10 10:34:36 -07:00
2026-07-30 12:03:07 -07:00
2026-08-15 15:33:40 -07:00
2026-08-21 04:32:53 +00:00
2026-08-20 03:57:23 +00:00
2026-08-09 09:14:56 -07:00
2026-07-02 19:01:09 -07:00
2026-08-21 04:32:53 +00:00
2026-07-30 12:03:07 -07:00
2026-08-21 04:32:53 +00:00
2026-07-02 11:38:34 -07:00
2026-07-30 12:03:07 -07:00
2026-07-30 12:03:07 -07:00
2026-08-21 04:32:53 +00:00
2026-07-15 21:58:46 -07:00
2026-07-13 23:16:36 -07:00
2026-07-09 19:58:03 -07:00
2026-07-07 22:04:55 -07:00
2026-07-18 13:18:08 -07:00
2026-07-17 13:31:42 -07:00
2026-08-21 04:32:53 +00:00
2026-07-13 19:07:58 -07:00
2026-07-26 12:01:19 -07:00
2026-08-09 08:31:26 -07:00
2026-08-09 08:31:26 -07:00
2026-08-19 22:44:46 -07:00
2026-08-19 22:44:46 -07:00
2026-08-13 16:48:01 -07:00
2026-07-30 12:03:07 -07:00
2026-07-26 12:01:19 -07:00
2026-07-24 22:32:49 -07:00
2026-08-16 08:32:46 -07:00
2026-08-16 08:32:46 -07:00
2026-08-19 21:01:56 -07:00
2026-08-11 19:00:44 -07:00
2026-08-09 06:51:22 -07:00
2026-07-14 22:16:16 -07:00
2026-07-19 15:45:45 -07:00
2026-07-14 08:18:52 -07:00
2026-07-14 22:16:16 -07:00
2026-07-30 12:03:07 -07:00
2026-08-21 04:32:53 +00:00
2026-07-26 12:01:19 -07:00
2026-08-19 21:42:29 -07:00
2026-06-28 01:17:22 -07:00
2026-06-16 15:08:24 -07:00
2026-08-01 06:09:04 -07:00
2026-07-23 17:27:59 -07:00
2026-08-03 09:04:45 -07:00
2026-07-31 13:23:20 -07:00
2026-08-18 18:05:15 -07:00
2026-07-18 10:55:50 -07:00
2026-07-19 20:42:05 -07:00
2026-07-18 14:23:14 -07:00
2026-07-18 17:06:34 -07:00
2026-08-08 22:55:38 -07:00
2026-07-14 22:13:30 -07:00
2026-08-11 05:45:36 -07:00
2026-08-21 10:57:44 -07:00
2026-07-26 12:01:19 -07:00
2026-07-17 12:00:26 -07:00
2026-08-21 14:41:37 +00:00
2026-08-09 09:14:56 -07:00
2026-07-15 10:38:04 -07:00
2026-08-19 21:01:56 -07:00
2026-08-09 13:22:32 -10:00
2026-07-30 12:03:07 -07:00
2026-08-15 13:39:24 -07:00
2026-08-18 19:52:36 -07:00
2026-08-18 19:52:36 -07:00
2026-07-10 23:42:10 -07:00
2026-08-21 04:32:53 +00:00
2026-08-21 10:18:45 -07:00
2026-08-21 14:41:37 +00:00
2026-08-01 08:52:08 -07:00
2026-07-26 12:01:19 -07:00