fix(manager): recover interrupted mutations - #89
Conversation
Bind abandoned Manager operations to durable transaction state and filesystem identities so recovery restores the pre-apply state without guessing or deleting live compiler work. Add token-bound UI recovery and real hard-kill coverage for apply, reapply, reset, and cleanup publication.
|
@codex review |
|
@cursor review |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit ee774c5. Configure here.
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Verification
cargo test -p gore-as -p gore-mod -p gore-ffi -p goregore-mod: 499 passed, 15 ignoredflutter analyzecleangore-mod: 509 passed, 5 ignoredNo real game installation, game process, save, tag, release, or package publication was touched.
Note
Medium Risk
Changes how the GUI mutates game installs during recovery, but native re-validates root and guard id and the UI gates on token, generation, and user confirmation.
Overview
Adds a confirmed recovery path in Mod Manager when setup preflight reports a clearly interrupted Manager apply/undeploy, wired to native
mgr_recover_install_v1with an opaque guard id from preflight.Preflight now exposes
recover_manager_mutationonly whenaction_tokenis present; the banner offers Recover with a confirmation dialog, then reloads library, status, conflicts, and preflight and shows a localized outcome (busy, restored pristine, compile help needed, etc.). Deployment recovery from status details is tightened so Recover appears only when the current preflight generation still authorizesrecover_deployment, avoiding stale undeploy-all when the finding has moved to manager-mutation recovery.Core bootstrap requires the new FFI command; README documents the flow and warns against manual lock deletion.
Reviewed by Cursor Bugbot for commit ee774c5. Bugbot is set up for automated code reviews on this repo. Configure here.