Repository navigation
feat: detect Codex update rewrites and add self-healing autostart - #4
Merged
Merged
Conversation
Two root causes were found after the Codex 0.147 update: no persistent watch survived the update/reboot, and an app rewrite that preserved provider identity scored 3 against a threshold of 4, so watch would have captured the damaged config as a user edit. - classify a changed BROWSER_USE_CODEX_APP_VERSION plus protected removals as a rewrite - weight removal of 3+ complete mcp_servers/plugins/marketplaces/projects entries - add autostart install|status|uninstall (Windows): logon daemon plus a periodic one-shot repair task - report autostart health in doctor - regression tests for app-update rewrite, app update without losses, whole-entry loss, and the end-to-end repair path
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.
Problem
After the Codex 0.147 update, KeepMyConfig stopped protecting the configuration and more settings were lost. Two root causes were verified on the affected machine:
watchhad been started manually at 01:00; the Codex update/reboot left no process running, and neither the Startup folder nor Task Scheduler contained a KeepMyConfig entry. The update rewroteconfig.tomlat 03:09 with nobody watching.model/model_provider, sochanged_managedwas empty. The diff scored 3 against the balanced threshold of 4 (12 protected paths removed, one new app-owned key added), so it looked like a user edit and would have been captured instead of repaired.Fix
BROWSER_USE_CODEX_APP_VERSIONplus any protected removal now forces a clobber classification; an app update with no losses remains an edit.mcp_servers/plugins/marketplaces/projectsentries adds clobber weight.autostart install|status|uninstall(Windows): a logon daemon task plus a periodic one-shot repair task (5 min default) using wrapper scripts andschtasks;doctorreports the state.Verified
Clobber(score 6) with evidence of 7 complete table entries removed and the app version change from 26.930.31428 to 26.930.31730;watch --oncerestores all 12 paths and keeps the new app build.clippy -D warningsandfmt --checkclean.