gsxdsm
94e9d15e38
FN-7556: auto-select review-heavy workflow for AI-undo tasks
AI-undo tasks now default to a configurable, stricter review workflow instead of always inheriting the project default.
- Add project setting `aiUndoTaskWorkflowId` (default `builtin:review-heavy`) to ProjectSettings type and DEFAULT_PROJECT_SETTINGS
- `POST /api/tasks/:id/revert` resolves and validates the configured workflow id (via `isBuiltinWorkflowId`/`getWorkflowDefinition`), falling back to inherit-with-warning on a blank/unknown value
- `createAiUndoTask` engine helper gains an optional `workflowId` param, forwarded verbatim to `createTask` only when non-blank, staying pure (no settings/store access itself)
- Add regression tests for the route resolution logic and the engine helper's workflow forwarding
- Update docs (`settings-reference.md`, `task-management.md`) and add changeset
Files changed:
.changeset/fn-7556-ai-undo-workflow.md | 7 +++
docs/settings-reference.md | 1 +
docs/task-management.md | 1 +
packages/core/src/settings-schema.ts | 4 ++
packages/core/src/types.ts | 14 +++++
.../settings-default-descriptions.test.tsx | 2 +
.../src/__tests__/task-revert-route.test.ts | 52 ++++++++++++++++-
.../src/routes/register-task-workflow-routes.ts | 31 +++++++++-
.../src/__tests__/task-revert-ai-undo.test.ts | 67 ++++++++++++++++++++++
packages/engine/src/task-revert.ts | 16 ++++++
10 files changed, 192 insertions(+), 3 deletions(-)
Fusion-Task-Id: FN-7556
Fusion-Task-Lineage: dec5603c-10a8-4780-a1b8-8a836a0de4c1
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-05 11:31:47 -07:00
..
2026-07-05 11:31:47 -07:00
2026-07-05 11:31:47 -07:00
2026-07-02 11:38:35 -07:00
2026-07-02 13:58:13 -07:00
2026-06-26 17:38:41 -07:00
2026-06-26 17:38:41 -07:00
2026-06-26 17:38:41 -07:00
2026-07-02 13:38:02 -07:00
2026-06-16 22:20:49 -07:00
2026-06-04 23:39:07 -07:00
2026-06-28 16:51:49 -07:00
2026-06-04 22:54:49 -07:00
2026-07-02 15:00:40 -07:00
2026-06-05 02:38:38 -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-06-21 13:25:41 -07:00
2026-06-29 23:17:49 -07:00
2026-06-30 00:03:37 -07:00
2026-06-10 10:34:36 -07:00
2026-05-20 04:41:04 -07:00
2026-06-18 19:12:58 -07:00
2026-06-10 10:34:36 -07:00
2026-06-01 08:13:36 -07:00
2026-06-24 23:32:51 -07:00
2026-07-02 19:01:09 -07:00
2026-07-02 11:38:34 -07:00
2026-07-02 11:38:34 -07:00
2026-07-02 11:38:34 -07:00
2026-07-02 12:34:35 -07:00
2026-07-02 11:38:34 -07:00
2026-07-02 11:38:34 -07:00
2026-07-02 12:34:35 -07:00
2026-06-16 15:08:24 -07:00
2026-07-02 11:38:34 -07:00
2026-05-18 14:46:20 -07:00
2026-06-26 17:38:41 -07:00
2026-06-15 20:34:52 -07:00
2026-06-15 20:34:52 -07:00
2026-06-30 00:09:36 -07:00
2026-06-30 00:09:36 -07:00
2026-06-25 08:35:44 -07:00
2026-06-16 15:11:09 -07:00
2026-06-16 15:11:09 -07:00
2026-06-16 05:56:11 -07:00
2026-06-27 12:25:53 -07:00
2026-07-02 13:58:13 -07:00
2026-07-01 08:01:59 -07:00
2026-06-26 16:14:44 -07:00
2026-06-28 01:17:22 -07:00
2026-06-16 15:08:24 -07:00
2026-06-27 21:39:40 -07:00
2026-07-02 14:31:16 -07:00
2026-07-04 21:28:16 -07:00
2026-07-03 21:47:00 -07:00
2026-07-02 11:38:35 -07:00
2026-06-22 11:49:52 -07:00
2026-07-01 15:39:34 -07:00
2026-06-26 17:38:41 -07:00
2026-07-01 23:44:05 -07:00
2026-07-01 15:39:34 -07:00
2026-07-02 11:38:31 -07:00
2026-06-09 20:08:18 -07:00
2026-06-26 17:38:41 -07:00
2026-07-03 21:45:20 -07:00
2026-07-01 15:39:34 -07:00
2026-06-21 20:28:33 -07:00