FN-7523: add git-revert engine service and task revert API route
Adds an intelligent git-revert service for done/archived tasks plus a single POST /api/tasks/:id/revert route, with tests and a changeset.
- Add packages/engine/src/task-revert.ts exporting resolveTaskRevertCommits, classifyTaskRevert, and performTaskRevert (squash/rebase/lineage attribution precedence, dry-run classification, guaranteed-clean rollback)
- Wire new revert exports into packages/engine/src/index.ts
- Add POST /api/tasks/:id/revert route in register-task-workflow-routes.ts, enforcing done/archived-only and autoMerge-off guard rails; unresolved conflicting results are left for sibling FN-7524 (AI-undo) to act on; workspace tasks return unsupported
- Add engine real-git revert tests (task-revert.real-git.test.ts) and dashboard route tests (task-revert-route.test.ts)
- Document the revert capability in docs/task-management.md
- Add .changeset/fn-7523-task-revert.md (@runfusion/fusion: patch)
Files changed:
.changeset/fn-7523-task-revert.md | 7 +
docs/task-management.md | 8 +
.../src/__tests__/task-revert-route.test.ts | 180 +++++++
.../src/routes/register-task-workflow-routes.ts | 75 ++-
.../src/__tests__/task-revert.real-git.test.ts | 248 ++++++++++
packages/engine/src/index.ts | 14 +
packages/engine/src/task-revert.ts | 524 +++++++++++++++++++++
7 files changed, 1055 insertions(+), 1 deletion(-)
Fusion-Task-Id: FN-7523
Fusion-Task-Lineage: ec349d4f-cc05-48d1-9e82-8c14d1470881
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>