aios-core
Version:
Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework
347 lines (258 loc) • 7.65 kB
Markdown
# No checklists needed - rollback operation with built-in transaction validation
# Task: Undo Last Component Operation
**Task ID:** undo-last
**Agent:** aios-developer
**Version:** 1.0
## Execution Modes
**Choose your execution mode:**
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
- Autonomous decision making with logging
- Minimal user interaction
- **Best for:** Simple, deterministic tasks
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
- Explicit decision checkpoints
- Educational explanations
- **Best for:** Learning, complex decisions
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
- Task analysis phase (identify all ambiguities)
- Zero ambiguity execution
- **Best for:** Ambiguous requirements, critical work
**Parameter:** `mode` (optional, default: `interactive`)
## Task Definition (AIOS Task Format V1.0)
```yaml
task: undoLast()
responsável: Dex (Builder)
responsavel_type: Agente
atomic_layer: Atom
**Entrada:**
- campo: target
tipo: string
origem: User Input
obrigatório: true
validação: Must exist
- campo: version
tipo: string
origem: User Input
obrigatório: false
validação: Target version or timestamp
**Saída:**
- campo: restored_state
tipo: object
destino: File system
persistido: true
- campo: rollback_log
tipo: array
destino: File (.ai/rollback/*)
persistido: true
```
## Pre-Conditions
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
**Checklist:**
```yaml
pre-conditions:
- [ ] Backup exists; rollback target valid
tipo: pre-condition
blocker: true
validação: |
Check backup exists; rollback target valid
error_message: "Pre-condition failed: Backup exists; rollback target valid"
```
## Post-Conditions
**Purpose:** Validate execution success AFTER task completes
**Checklist:**
```yaml
post-conditions:
- [ ] State restored; integrity verified; no data loss
tipo: post-condition
blocker: true
validação: |
Verify state restored; integrity verified; no data loss
error_message: "Post-condition failed: State restored; integrity verified; no data loss"
```
## Acceptance Criteria
**Purpose:** Definitive pass/fail criteria for task completion
**Checklist:**
```yaml
acceptance-criteria:
- [ ] Original state restored; no residual changes
tipo: acceptance-criterion
blocker: true
validação: |
Assert original state restored; no residual changes
error_message: "Acceptance criterion not met: Original state restored; no residual changes"
```
## Tools
**External/shared resources used by this task:**
- **Tool:** backup-manager
- **Purpose:** Backup and restore operations
- **Source:** .aios-core/utils/backup-manager.js
- **Tool:** version-control
- **Purpose:** Git operations for rollback
- **Source:** npm: simple-git
## Scripts
**Agent-specific code for this task:**
- **Script:** rollback-changes.js
- **Purpose:** Rollback to previous state
- **Language:** JavaScript
- **Location:** .aios-core/scripts/rollback-changes.js
## Error Handling
**Strategy:** retry
**Common Errors:**
1. **Error:** Backup Not Found
- **Cause:** No backup exists for target version
- **Resolution:** Verify backup location and version
- **Recovery:** List available backups, abort if none
2. **Error:** Rollback Failed
- **Cause:** Error restoring previous state
- **Resolution:** Check backup integrity and permissions
- **Recovery:** Preserve current state, log failure
## Performance
**Expected Metrics:**
```yaml
duration_expected: 0.5-2 min (estimated)
cost_estimated: $0.0001-0.0005
token_usage: ~500-1,000 tokens
```
**Optimization Notes:**
- Minimize external dependencies; cache results if reusable; validate inputs early
## Metadata
```yaml
story: N/A
version: 1.0.0
dependencies:
- N/A
tags:
- automation
- workflow
updated_at: 2025-11-17
```
## Description
Rollback the last component creation or modification operation. This task allows undoing recent changes made by the aios-developer agent, including single component creation, batch creation, or component updates.
## Context Required
- Access to transaction history
- File system permissions for affected files
- Manifest write permissions
## Prerequisites
- Transaction logging enabled
- Backup files available
- No conflicting operations since last transaction
## Input Requirements
- Optional: Transaction ID to rollback (defaults to last transaction)
- Optional: Selective rollback options
## Process Flow
### Step 1: Identify Transaction
Locate the most recent transaction or use provided transaction ID.
**Actions:**
- Query transaction history
- Display transaction details
- Confirm rollback intent
**Validation:**
- Transaction exists and is rollbackable
- User confirms the operation
### Step 2: Analyze Changes
Review all changes made in the transaction.
**Actions:**
- List all file operations
- Show manifest changes
- Display component metadata updates
**Output Format:**
```
Transaction: txn-1234567890-abcd
Type: component_creation
Date: 2025-01-31T10:30:00Z
Operations:
- Created: /aios-core/agents/data-analyst.md
- Updated: /aios-core/team-manifest.yaml
- Created: /aios-core/tasks/analyze-data.md
```
### Step 3: Execute Rollback
Perform the rollback operation with proper error handling.
**Actions:**
- Restore file backups
- Revert manifest changes
- Update component metadata
- Clean up orphaned files
**Error Handling:**
- Handle missing backup files
- Manage partial rollback scenarios
- Report rollback failures
### Step 4: Verify Rollback
Ensure all changes have been properly reverted.
**Actions:**
- Verify file states
- Check manifest integrity
- Validate component consistency
**Success Criteria:**
- All files restored to previous state
- Manifest accurately reflects changes
- No orphaned references remain
## Output
### Success Response
```
✅ Rollback completed successfully!
Transaction: txn-1234567890-abcd
Rolled back:
- ✓ Removed: data-analyst.md
- ✓ Restored: team-manifest.yaml
- ✓ Removed: analyze-data.md
Total operations: 3
Successful: 3
Failed: 0
```
### Failure Response
```
❌ Rollback partially failed
Transaction: txn-1234567890-abcd
Results:
- ✓ Removed: data-analyst.md
- ✗ Failed to restore: team-manifest.yaml (backup not found)
- ✓ Removed: analyze-data.md
Please manually review and fix failed operations.
```
## Error Handling
### Common Errors
1. **Transaction Not Found**
- Display available transactions
- Suggest checking transaction ID
2. **Backup Files Missing**
- Warn about incomplete rollback
- Provide manual recovery steps
3. **Concurrent Modifications**
- Detect file changes since transaction
- Prompt for force rollback option
## Security Considerations
- Verify user has permission to rollback
- Prevent rollback of system transactions
- Maintain audit trail of rollback operations
- Validate file paths to prevent traversal
## Performance Notes
- Load only necessary transaction data
- Stream large backup files
- Batch file operations for efficiency
## Dependencies
- TransactionManager utility
- File system access
- Backup storage system
## Notes
- Rollback is only available for recent transactions (within retention period)
- Some operations may not be fully reversible
- Always creates a new transaction for the rollback itself
- Supports selective rollback for batch operations
## Related Tasks
- create-agent
- create-task
- create-workflow
- create-suite
- update-manifest