Skip to content

feat(models): sunset tiers for models mirroring blocks (legacy amber / deprecated red)#5805

Merged
TheodoreSpeaks merged 3 commits into
stagingfrom
feat/model-sunset-tiers
Jul 21, 2026
Merged

feat(models): sunset tiers for models mirroring blocks (legacy amber / deprecated red)#5805
TheodoreSpeaks merged 3 commits into
stagingfrom
feat/model-sunset-tiers

Conversation

@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to the block sunset tiers (#5793). Gives models the same two-tier lifecycle.

  • Adds ModelDefinition.sunset: { status: 'legacy' | 'deprecated' } — identical shape to BlockConfig.sunset; replaces the old deprecated: boolean.
  • Classifies the 52 sunset catalog models: 33 deprecated (red — provider has retired them, API calls fail) and 19 legacy (amber — superseded but still callable). The 33 were verified against each provider's live retirement docs (xAI grok-3/4 gen, Bedrock llama-3.x, Anthropic 4-0/sonnet-4-0/3-haiku, Google/Vertex gemini-2.0, Groq, Mistral, Cerebras, DeepSeek).
  • Retired (deprecated) models are hidden from the model picker (getModelOptions) but stay isKnownModelId, so existing pinned workflows still validate.
  • Canvas badge: retired model → red "deprecated"; legacy model → amber "legacy" (same tiers as blocks).
  • Removes 2 phantom Bedrock catalog ids that never shipped on Bedrock (amazon.nova-2-pro-v1:0, mistral.mistral-large-2411-v1:0).

Type of Change

  • New feature

Testing

Tested manually. bun run lint:check, check:api-validation:strict, providers/models.test.ts (29), and app tsc all pass.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Jul 21, 2026 6:20pm

Request Review

@cursor

cursor Bot commented Jul 21, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Touches the central model catalog and all model pickers/agents; mis-tagged sunset status could hide callable models or leave failing models visible, though pinned workflows are intentionally preserved.

Overview
Replaces the flat deprecated: boolean on catalog models with sunset: { status: 'legacy' | 'deprecated' }, aligned with block sunset semantics. Catalog entries are reclassified (superseded-but-callable vs provider-retired), and two phantom Bedrock IDs are removed from the catalog.

User-facing behavior: deprecated models are dropped from getModelOptions, copilot static model lists, and VFS model menus, but remain known IDs so existing workflows still validate. legacy models stay in pickers. On the canvas, workflow blocks now show red “deprecated” vs amber “legacy” model badges with tier-specific tooltips and mothership fix prompts (via getModelSunsetStatus). The public models catalog marks sunset models with deprecated: !!model.sunset.

API: getModelSunsetStatus is the source of truth; isModelDeprecated now means “any sunset tier.” Bedrock geo-profile unsupported list is updated after removing a retired Mistral catalog entry.

Reviewed by Cursor Bugbot for commit 7441030. Bugbot is set up for automated code reviews on this repo. Configure here.

@greptile-apps

greptile-apps Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds two-tier lifecycle handling for sunset models. The main changes are:

  • Replaces the model deprecated flag with legacy and deprecated sunset statuses.
  • Keeps legacy models selectable while hiding retired models from user and Copilot menus.
  • Adds distinct amber and red canvas badges for legacy and retired models.
  • Removes two Bedrock catalog IDs that were never available from that provider.

Confidence Score: 5/5

This looks safe to merge.

  • The Copilot fallback now excludes retired models consistently with the picker and VFS menu.
  • Legacy models remain available in execution and editor paths.
  • No blocking issues remain in the changed code.

Important Files Changed

Filename Overview
apps/sim/providers/models.ts Defines the sunset tiers, classifies catalog models, and adds lifecycle lookup helpers.
apps/sim/blocks/utils.ts Keeps legacy models in the picker while excluding retired models.
apps/sim/lib/copilot/vfs/serializers.ts Excludes retired models from the Copilot VFS model menu.
apps/sim/lib/copilot/tools/server/blocks/get-blocks-metadata-tool.ts Applies the retired-model filter to the Copilot metadata fallback.
apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/workflow-block.tsx Renders separate legacy and retired model states on workflow blocks.

Reviews (3): Last reviewed commit: "fix(copilot): exclude retired models fro..." | Re-trigger Greptile

Comment thread apps/sim/providers/models.ts
Comment thread apps/sim/app/(landing)/models/utils.ts
Comment thread apps/sim/lib/copilot/vfs/serializers.ts
@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@greptile

@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 770fb4d. Configure here.

Comment thread apps/sim/lib/copilot/vfs/serializers.ts
@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@greptile

@TheodoreSpeaks

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 7441030. Configure here.

@TheodoreSpeaks
TheodoreSpeaks merged commit f6944b6 into staging Jul 21, 2026
20 checks passed
@TheodoreSpeaks
TheodoreSpeaks deleted the feat/model-sunset-tiers branch July 21, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant