Problem
The existing explicit provider/model refresh bypasses T3-owned discovery caches, but the one-click CLI update path does not. After a successful update command, providerMaintenanceRunner.ts refreshes only the selected instance without calling its invalidateCaches hook. Cursor model discovery and Claude capability probes can therefore reuse pre-update results. Other instances of the same provider can retain stale catalogs too, even when they share the updated installation.
Reproduction
- Configure two enabled instances of a provider with a cached discovery probe.
- Populate both catalogs, then install a CLI update through T3 that changes the discovery response.
- Observe that post-update verification probes only the selected instance and leaves discovery caches intact. Explicit model refresh takes a different invalidation path.
This is a code-path reproduction; it does not claim a particular release introduced a model.
Expected behavior
After the update command succeeds, invalidate T3-owned discovery caches and re-probe enabled instances of that provider using each instance's own configuration. Publish results through the existing registry/config stream. Preserve credentials, routing, model preferences, selected models, and running conversations. Failed discovery should retain the existing recovery behavior.
Keep this repair focused on discovery after updates. Detecting stale running binaries and safely replacing idle sessions with their resume cursors needs separate lifecycle work. Refreshing catalogs must not be presented as upgrading an already-running session.
Related but distinct: #13109 covers explicit cache refresh; #13010 covers OpenCode version verification against a running helper; #13244 covers the manifest update-check opt-out.
Problem
The existing explicit provider/model refresh bypasses T3-owned discovery caches, but the one-click CLI update path does not. After a successful update command,
providerMaintenanceRunner.tsrefreshes only the selected instance without calling itsinvalidateCacheshook. Cursor model discovery and Claude capability probes can therefore reuse pre-update results. Other instances of the same provider can retain stale catalogs too, even when they share the updated installation.Reproduction
This is a code-path reproduction; it does not claim a particular release introduced a model.
Expected behavior
After the update command succeeds, invalidate T3-owned discovery caches and re-probe enabled instances of that provider using each instance's own configuration. Publish results through the existing registry/config stream. Preserve credentials, routing, model preferences, selected models, and running conversations. Failed discovery should retain the existing recovery behavior.
Keep this repair focused on discovery after updates. Detecting stale running binaries and safely replacing idle sessions with their resume cursors needs separate lifecycle work. Refreshing catalogs must not be presented as upgrading an already-running session.
Related but distinct: #13109 covers explicit cache refresh; #13010 covers OpenCode version verification against a running helper; #13244 covers the manifest update-check opt-out.