| name | corruption-recovery |
| description | Automated corruption detection and recovery for OpenClaw. Provides integrity scanning, automatic backup selection, staged recovery procedures, post-recovery validation, and rollback capability. Use when recovering from data corruption, restoring from backups, or performing disaster recovery operations. |
Corruption Recovery
When to use this skill
Use this skill when you need to:
- Detect and recover from data corruption
- Restore agent memory from backups
- Recover consensus ledger from backup
- Perform disaster recovery operations
- Validate data integrity after recovery
- Rollback failed recovery attempts
- Select appropriate backup for restoration
- Verify recovery success
When NOT to use this skill
Do NOT use this skill when:
- You need to inspect state without recovery (use
state-inspector skill)
- You need to analyze logs for corruption cause (use
log-analyzer skill)
- You need to run system diagnostics (use
system-diagnostics skill)
- You need to create new backups (use backup management skill)
- You need to manage agent lifecycle (use
agent-lifecycle-manager skill)
Inputs required
Before executing, determine:
- Scope: What to recover (memory, ledger, workspace, all)
- Source: Backup source (auto-select, specific backup, timestamp)
- Mode: Dry-run or actual recovery
- Validation: Whether to validate after recovery
Workflow
1. Scan for corruption
./scripts/recover.sh scan --full
./scripts/recover.sh scan --component memory
./scripts/recover.sh scan --detailed --output scan.json
2. List available backups
./scripts/recover.sh list
./scripts/recover.sh list --component ledger
./scripts/recover.sh list --recent --count 10
3. Select backup
./scripts/recover.sh select --auto
./scripts/recover.sh select --backup <backup-id>
./scripts/recover.sh select --timestamp "2024-01-01T00:00:00Z"
4. Preview recovery
./scripts/recover.sh preview --backup <backup-id>
./scripts/recover.sh preview --backup <backup-id> --diff
5. Execute recovery
./scripts/recover.sh recover --all
./scripts/recover.sh recover --component memory --backup <backup-id>
./scripts/recover.sh recover --component ledger --validate
6. Validate recovery
./scripts/recover.sh validate
./scripts/recover.sh validate --component memory
./scripts/recover.sh validate --full --output validation.json
7. Rollback if needed
./scripts/recover.sh rollback
./scripts/recover.sh rollback --to <recovery-id>
Recovery Stages
Stage 1: Pre-Recovery
- Backup current state (for rollback)
- Stop affected services
- Verify backup integrity
Stage 2: Recovery
- Extract backup data
- Restore files/data
- Update metadata
Stage 3: Post-Recovery
- Validate restored data
- Restart services
- Verify system health
Stage 4: Verification
- Integrity checks
- Functional tests
- Consistency verification
Backup Selection Criteria
The auto-select algorithm considers:
| Criterion | Weight | Description |
|---|
| Recency | 30% | Prefer recent backups |
| Completeness | 25% | All components present |
| Integrity | 25% | Checksum verified |
| Size | 10% | Reasonable size (not truncated) |
| Age | 10% | Not too old |
Files
Examples
Example 1: Quick recovery
./scripts/recover.sh recover --auto --validate
Example 2: Selective recovery
./scripts/recover.sh recover --component ledger --backup backup-20240101
Example 3: Dry-run first
./scripts/recover.sh preview --backup latest --diff
./scripts/recover.sh recover --backup latest --validate
Troubleshooting
Recovery fails
- Check backup integrity:
./scripts/recover.sh validate-backup --backup <id>
- Try different backup:
./scripts/recover.sh list --valid-only
- Check disk space:
df -h
Rollback fails
- Check rollback state:
./scripts/recover.sh status
- Manual rollback: Restore from pre-recovery backup
- Contact support if data is critical
Validation fails after recovery
- Review validation report:
./scripts/recover.sh validate --detailed
- Try different backup:
./scripts/recover.sh select --auto
- Consider partial recovery of specific components
Gateway Integration
This skill integrates with the OpenClaw Gateway WebSocket RPC on port 18789:
- Recovery status published via Gateway
- Service restart coordinated through Gateway
- Recovery notifications sent to agents
LiteLLM Integration
Recovery includes LiteLLM state:
- Model cache restoration
- Token usage state
- Conversation history
Common Debugging Scenarios
Agent offline detection and recovery
./scripts/recover.sh scan --component memory --agent <agent-id>
./scripts/recover.sh recover --component memory --agent <agent-id> --auto
LiteLLM gateway failure
./scripts/recover.sh scan --component litellm
./scripts/recover.sh recover --component litellm --validate
Triad deliberation deadlock
./scripts/recover.sh scan --component ledger
./scripts/recover.sh recover --component ledger --auto --validate
Database corruption
./scripts/recover.sh scan --component database --full
./scripts/recover.sh recover --component database --auto --rollback-enabled