Repository navigation
🤖 refactor: delete the workspace AI key seeding and repair - #5907
Closed
ibetitsmike wants to merge 6 commits into
Closed
ibetitsmike wants to merge 6 commits into
ibetitsmike wants to merge 6 commits into
Conversation
Nothing reads the workspace model, thinking level and reasoning mode keys any more, so metadata seeding stops writing them and the unsent-pick reseed guard goes away. Removing a custom provider no longer rewrites those keys or the per-agent cache for every workspace: the refreshed backend metadata reseeds the cache, and the browser repair only drops the provider's unsent model picks and the last custom provider. Tests that covered only the deleted code go too. Stack-Layer: A2h
Stack-Layer: A2h
ibetitsmike
added this pull request to stack #5868
October 8, 2026 21:03
This was referenced Oct 8, 2026
Stack-Layer: A2h
ibetitsmike
marked this pull request as ready for review
October 8, 2026 21:33
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. |
Stack-Layer: A2h
Stack-Layer: A2h
Stack-Layer: A2h
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 796727abaf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
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".
ibetitsmike
removed this pull request from stack #5868
October 9, 2026 04:49
Contributor
Author
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.
Summary
The per-workspace model, thinking level and reasoning mode keys have no workspace reader left (creation composers still read their own scoped keys until #5912), so
seedWorkspaceLocalStorageFromBackendstops writing them, and the guard that kept a reseed from overwriting an unsent pick (hasPendingAiSelectionIntent) goes away. Backend metadata still reseeds the per-agent cache.Removing a custom provider no longer rewrites those keys or the per-agent cache for every workspace. The backend already rewrites the provider's models in workspace metadata, and the refreshed metadata reseeds the cache.
repairLocalModelPreferencesForRemovedProvidernow only drops the provider's unsent model picks and clears the last custom provider.Stack
Milestone M4 of the server-side settings stack, on top of M3 (#5869 to #5879): per-workspace AI picks (model, thinking level, reasoning mode, agent and Auto routing) are stored in workspace metadata in
config.jsoninstead of per-browser localStorage keys, so every browser shows the same picks. An unsent picker change stays in memory in its tab until a send saves it, and a reload before sending drops it, as the plan accepts. Layer 14 of 20.Testing
aiSelectionIntent.test.ts): a Plan model pick is pending for Plan only and does not go out with an Exec send. It fails when the pending pick's agent check is dropped.ProvidersSection.test.tsx): the repair runs with the removed provider after the mutation. It fails when the repair call inProvidersSectionis dropped.WorkspaceContext.test.tsx, and the per-workspace model, per-agent cache and no-change cases inmodelPreferenceRepair.test.ts.make static-checkand the touched test suites pass at the top of the stack; CI checks each layer on its own.Review record
efe7e29096, because a fork without a message dropped the source's unsent picks (fixed by 🤖 feat: fork a workspace with the source composer's unsent AI picks #5897, 🤖 refactor: resolve the workspace agent from metadata and an unsent pick #5908 and 🤖 refactor: resolve auto routing from the unsent pick, saved flags and agent defaults #5909); everything else passed. Round 2: PASS on80f2b5379e: forks from all five entry points keep the unsent picks, startup removes the retired keys, and the round 1 checks still pass; the plan handoff was not exercised because the mock model cannot propose a plan. The Codex round 1 fixes made since then have no remote UAT yet; that is left to the next UAT round on 🤖 refactor: keep preferences and workspace AI picks on the server #5916.d02d4b74af, no findings. Mike asked to land the stack as one PR, so further review runs on 🤖 refactor: keep preferences and workspace AI picks on the server #5916.efe7e29096, probe edits in production code).