Skip to content

fix(provider): stop restoring cleared custom options - #10218

Closed
mimen wants to merge 1 commit into
pingdotgg:mainfrom
mimen:fix/custom-model-capability-refresh
Closed

fix(provider): stop restoring cleared custom options#10218
mimen wants to merge 1 commit into
pingdotgg:mainfrom
mimen:fix/custom-model-capability-refresh

Conversation

@mimen

@mimen mimen commented Sep 5, 2026

Copy link
Copy Markdown

Custom model option descriptors are settings-owned. After a user cleared every descriptor, mergeProviderModels treated the empty list as incomplete provider discovery and restored the previous capabilities. Web and mobile kept showing stale controls until the server restarted.

Custom rows now bypass capability backfill. Built-in rows still retain discovered capabilities across incomplete refreshes.

Verification

  • The new regression test failed before the fix because the previous Reasoning descriptor was restored.
  • vp test run apps/server/src/provider/Layers/ProviderRegistry.test.ts passes all 48 tests.
  • vp run --filter=t3 typecheck passes with existing Effect suggestions only.
  • Targeted lint, formatting, and git diff --check pass.

This is a focused follow-up to #9807. #8964 is closed because #9807 superseded its broader custom-model profile design.

Risk and rollback

The change affects only custom rows during provider snapshot merging. Revert af66745a9 to restore the previous behavior.

Review tier: standard.

Implemented with GPT-5.6 Sol via Claude Code.

Note

Fix mergeProviderModels restoring cleared custom options

Custom models in a refreshed provider snapshot now return directly from that snapshot before the existing capability-retention logic runs. Non-custom models still keep previous capabilities when the refreshed model lacks them. Adds a test confirming cleared custom model capabilities stay cleared.

Macroscope summarized af66745.

Custom model capabilities come from settings and should remain authoritative when a refresh removes their option descriptors.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Sep 5, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at af66745

Macroscope's review found this PR approvable — The change narrowly fixes provider snapshot merging so explicitly cleared custom model options are not resurrected, while preserving capability fallback for built-in models. It adds a targeted regression test and does not affect schemas, product defaults, or deployment configuration.

You can add or adjust custom eligibility rules. Learn more.

@mimen mimen closed this Sep 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS 0-9 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant