Skip to content

Add recovery orchestration package and fail-closed backup-create controls#188

Merged
jsugg merged 3 commits intomainfrom
jp/recovery-phase1-orchestrator
May 1, 2026
Merged

Add recovery orchestration package and fail-closed backup-create controls#188
jsugg merged 3 commits intomainfrom
jp/recovery-phase1-orchestrator

Conversation

@jsugg
Copy link
Copy Markdown
Owner

@jsugg jsugg commented May 1, 2026

Summary

This PR introduces a first recovery subsystem slice under src/clawops/recovery and routes clawops recovery backup-create through it while preserving the existing CLI surface.

Changes

  • Added src/clawops/recovery/ package with:
    • models.py (typed recovery models)
    • policy.py (profile validation and retention metadata)
    • planner.py (deterministic include/exclude plan and size/file estimates)
    • backends.py (OpenClaw and tar fallback backend strategies)
    • orchestrator.py (plan/create orchestration)
    • retention.py, checkpoint.py, telemetry.py module scaffolding
  • Updated src/clawops/strongclaw_recovery.py to use the orchestrator.
  • Extended backup-create flags:
    • --profile
    • --dry-run
    • --allow-fallback
  • Implemented fail-closed default for OpenClaw backup-create failures when OpenClaw is available; fallback now requires explicit --allow-fallback.
  • Kept fallback recursion and atomic cleanup safeguards intact.
  • Updated both backup docs copies to describe new flags and behavior.
  • Added/updated tests:
    • tests/suites/unit/clawops/recovery/test_policy.py
    • tests/suites/unit/clawops/test_strongclaw_recovery.py

@jsugg jsugg merged commit a14c53b into main May 1, 2026
18 checks passed
@jsugg jsugg deleted the jp/recovery-phase1-orchestrator branch May 1, 2026 05:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant