Skip to content

feat: add transactional upgrade rollback - #53

Closed
shakkernerd wants to merge 10 commits into
mainfrom
feat/upgrade-rollback
Closed

feat: add transactional upgrade rollback#53
shakkernerd wants to merge 10 commits into
mainfrom
feat/upgrade-rollback

Conversation

@shakkernerd

Copy link
Copy Markdown
Owner

Summary

  • add ocm upgrade rollback for explicit, transactional restoration of the runtime, environment snapshot, binding, and managed service state captured before an upgrade
  • reject stale, incomplete, shared, drifted, tampered, or already-reversed transactions before mutation, including unsafe runtime-only downgrades
  • serialize upgrade-family operations, preserve backward-compatible history, and expose linked rollback records through human, raw, and JSON output
  • document the command and cover success, reversal, refusal, cleanup, launcher, runtime, service, and history paths

Verification

  • AWS Crabbox cbx_a55a7013c2d7: cargo test --locked
  • AWS Crabbox cbx_a55a7013c2d7: cargo check --locked --all-targets
  • AWS Crabbox cbx_a55a7013c2d7: cargo check --locked --target x86_64-pc-windows-gnu
  • real OpenClaw upgrade, rollback, durable-state comparison, and re-upgrade across 2026.6.11, 2026.6.33, 2026.7.1, 2026.7.1-2, 2026.7.2-beta.3, and frozen source ec8f957f reporting 2026.7.2
  • unsafe 2026.7.2 to 2026.7.2-beta.3 runtime-only downgrade rejected before state, snapshot, or history mutation

Follow-up

Separate compatibility-hardening PRs will extend the general environment operation lock across the complete normal-upgrade path and make failed-rollback audit-record cleanup resilient if history persistence itself fails. The explicit rollback path in this PR already holds its operation lock for the full rollback and restores state before recording a rollback failure.

@shakkernerd shakkernerd self-assigned this Jul 23, 2026
@shakkernerd
shakkernerd force-pushed the feat/upgrade-rollback branch from fbfd467 to d34d7bb Compare July 23, 2026 08:29
@shakkernerd shakkernerd reopened this Jul 23, 2026
@shakkernerd
shakkernerd force-pushed the feat/upgrade-rollback branch from efcf8c1 to d34d7bb Compare July 23, 2026 08:40
@shakkernerd
shakkernerd force-pushed the feat/upgrade-rollback branch from d34d7bb to efcf8c1 Compare July 23, 2026 08:43
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