Skip to content

feat: add transactional upgrade rollback - #54

Merged
shakkernerd merged 11 commits into
mainfrom
feat/transactional-rollback
Jul 23, 2026
Merged

feat: add transactional upgrade rollback#54
shakkernerd merged 11 commits into
mainfrom
feat/transactional-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 reopened this Jul 23, 2026
@shakkernerd shakkernerd reopened this Jul 23, 2026
@shakkernerd
shakkernerd merged commit b623410 into main Jul 23, 2026
10 checks passed
@shakkernerd

Copy link
Copy Markdown
Owner Author

Merged using rebase.

What changed after review:

  • Added explicit transactional rollback for completed OpenClaw upgrade transitions.
  • Added strict history, launcher, runtime recovery, service, and snapshot identity preflight checks.
  • Added docs and compatibility coverage across historical OpenClaw releases.

Verification:

  • Refreshed onto current origin/main before pushing.
  • AWS Crabbox cbx_a55a7013c2d7: full cargo test --locked, all-target checks, and Windows GNU compile passed.
  • Real OpenClaw upgrade, rollback, durable-state comparison, and re-upgrade passed from 2026.6.11 through frozen source ec8f957f reporting 2026.7.2.
  • Auto-review: calibrated review finding resolved; final review clean.
  • GitHub checks: all required checks green on the prepared head.

Landed on main:

Thanks @shakkernerd!

@shakkernerd
shakkernerd deleted the feat/transactional-rollback branch July 23, 2026 08:54
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