
rollback-changes
Automatically rollback changes from failed workflow phases using changes log files. Use when workflo
作者 maslennikov-ig|オープンソース
Rollback Changes
Rollback failed workflow phases by reading changes log and reversing tracked modifications.
When to Use
- Workflow phase fails and needs state restoration
- Error recovery in worker agents
- Quality gate failures requiring revert
Input
{
"changes_log_path": ".bug-changes.json",
"phase": "bug-fixing",
"confirmation_required": true
}
Changes Log Format
{
"phase": "bug-fixing",
"timestamp": "2025-10-18T14:30:00Z",
"files_modified": [{"path": "src/app.ts", "backup": ".rollback/src-app.ts.backup"}],
"files_created": ["src/new-file.ts"],
"commands_executed": ["pnpm install", "pnpm build"],
"git_commits": ["abc123"],
"artifacts": [".bug-fixing-plan.json"]
}
Process
1. Read & Parse Changes Log
Use Read tool to load JSON. Validate required fields: phase, timestamp, files_modified, files_created, commands_executed, git_commits.
2. Request Confirmation (if required)
Show summary of changes to revert. If user declines, return dry run result.
3. Restore Modified Files
cp "{backup}" "{path}" # For each {path, backup} in files_modified
4. Delete Created Files
rm -f "{file}" # For each file in files_created
5. Revert Commands
pnpm install→ re-run to restore lockfilegit add *→git restore --staged .pnpm build→rm -rf dist/- Other → log warning (cannot auto-revert)
6. Revert Git Commits
git revert --no-edit {sha} # In reverse order
7. Cleanup Artifacts
Remove plan files and temporary artifacts.
Output
{
"success": true,
"phase": "bug-fixing",
"actions_taken": ["Restored src/app.ts", "Deleted src/new-file.ts", "Reverted abc123"],
"files_restored": 1,
"files_deleted": 1,
"git_commits_reverted": 1,
"errors": [],
"warnings": ["Backup not found: .rollback/file.backup (skipped)"]
}
Error Handling
- Missing log: Return error "Changes log not found"
- Invalid JSON: Return parsing error
- Backup not found: Log warning, continue (partial rollback OK)
- Git conflicts: Log error with manual instructions, continue
Safety Features
- Confirmation by default before any changes
- Partial rollback acceptable (documented in warnings)
- Never delete without verifying backup exists
- All actions logged for audit trail
Worker Integration
Workers should track changes during operations:
- Create
.{domain}-changes.jsonbefore modifications - Create backups in
.rollback/for modified files - Log all file creates, commands, and commits
- On failure: invoke rollback-changes with confirmation_required=false