Repository navigation
fix: preserve native provider state during legacy sync - #93
Merged
Merged
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
github-actions Bot
pushed a commit
that referenced
this pull request
Oct 7, 2026
## [2.32.2](v2.32.1...v2.32.2) (2026-10-07) ### Bug Fixes * preserve native provider state during legacy sync ([#93](#93)) ([1df84bb](1df84bb))
|
🎉 This PR is included in version 2.32.2 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Legacy sync could replace local provider settings while repairing old managed state: repair moved existing files aside before checking their ownership. An empty MCP-map exception also discarded unrelated native keys, and missing ownership metadata allowed deletion of provider-added agent and rule files. A native symlink with matching old bytes could redirect a config update into another file.
Repair now enrolls only absent surfaces, so existing native config and plugin directories stay unowned through sync and unmanage. Rendered sync preserves targets without source/ownership evidence and rejects symlinks, hardlinks, and non-regular targets. The empty-MCP exception accepts only the exact generated object with no additional keys.
Temporary-home regressions reproduce the old failures and cover native keys, provider plugin updates, current/missing/stale receipts, unchanged dry-run trees, a positive empty-MCP case, links, unowned agent/rule files, and autosync once. Exact-head CI passed on Linux, macOS, and Windows. Lint, types, build, compiled verifier, and package dry run passed. The local full suite finished with 1,097 passes and two previously observed audit failures; the timeout passed on rerun, and the unchanged Codex cold-start fixture failure remains documented. The actual published 2.32.1 binary fails preservation of all five native fixture files; the patched compiled binary preserves all five byte-for-byte.
Broad legacy sync retains its opt-in gate and concurrent-writer limitations. Initial manage/adoption are separate broader operations; no actual provider homes or machine sync scripts were modified.