Context
Single point of destructive action. Modules never call Trash/Archive/rm directly; they return [CleanAction] from plan(), and Remover executes actions. Each action triggers re-validation: deny-list, TOCTOU, symlink-policy.
Acceptance criteria
Files to touch (estimate)
best-effort estimate; agent refines during implementation
Implementation notes
Dependencies
Safety checklist
See .github/ISSUE_TEMPLATE/task.yml — tick applicable invariants in the issue if any destructive path is touched.
Definition of Done
Context
Single point of destructive action. Modules never call Trash/Archive/rm directly; they return
[CleanAction]fromplan(), andRemoverexecutes actions. Each action triggers re-validation: deny-list, TOCTOU, symlink-policy.Acceptance criteria
Removeractor exposesexecute(actions:mode:denyList:log:).RemovalLogger.Files to touch (estimate)
best-effort estimate; agent refines during implementation
Implementation notes
Dependencies
Safety checklist
See
.github/ISSUE_TEMPLATE/task.yml— tick applicable invariants in the issue if any destructive path is touched.Definition of Done