Skip to content

chore(models): deactivate Claude 3.5 - #912

Merged
steebchen merged 1 commit into
mainfrom
terragon/add-claude-3-5-sonnet-model-deactivated
Sep 22, 2025
Merged

steebchen merged 1 commit into
mainfrom
terragon/add-claude-3-5-sonnet-model-deactivated

Conversation

@steebchen

@steebchen steebchen commented Sep 22, 2025

Copy link
Copy Markdown
Member

Summary

  • Sets a deactivation date for the Claude 3.5 Sonnet (2024-10-22) model
  • Marks the model as deactivated starting from 2025-10-22

Changes

Model Configuration

  • Updated anthropicModels array in anthropic.ts
  • Changed deactivatedAt from undefined to new Date("2025-10-22T00:00:00Z") for Claude 3.5 Sonnet model

Test plan

  • Verify that the model's deactivatedAt field is correctly set to the specified date
  • Confirm no other model configurations were affected by this change

🌿 Generated by Terry


ℹ️ Tag @terragon-labs to ask questions and address PR feedback

📎 Task: https://www.terragonlabs.com/task/c3b84bfd-ab4f-4d5d-afa1-c40c835a3612

Summary by CodeRabbit

  • Chores
    • Updated model lifecycle status: Claude 3.5 Sonnet (2024-10-22) now has a scheduled deactivation date (2025-10-22).
    • After the deactivation date, the model will no longer be available for selection or new runs.
    • Users should transition workflows to a supported alternative before the cutoff to avoid interruptions.
    • No other models are affected.

Set the deactivatedAt field to 2025-10-22 for the Claude 3.5 Sonnet (2024-10-22) model in anthropicModels to reflect its planned deactivation date.

Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com>
@bunnyshell

bunnyshell Bot commented Sep 22, 2025

Copy link
Copy Markdown

❌ Preview Environment deleted from Bunnyshell

Available commands (reply to this comment):

  • 🚀 /bns:deploy to deploy the environment

@coderabbitai

coderabbitai Bot commented Sep 22, 2025

Copy link
Copy Markdown
Contributor

Walkthrough

Updated the Anthropic model registry to set a deactivation date for "Claude 3.5 Sonnet (2024-10-22)": deactivatedAt is now new Date("2025-10-22T00:00:00Z"). No other fields changed.

Changes

Cohort / File(s) Summary
Anthropic model registry
packages/models/src/models/anthropic.ts
Set deactivatedAt for "Claude 3.5 Sonnet (2024-10-22)" to 2025-10-22T00:00:00Z (was undefined); public export now exposes a Date value for this field.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "chore(models): deactivate Claude 3.5" is concise, clearly related to the main change (setting a deactivation date for the Claude 3.5 Sonnet model in packages/models/src/models/anthropic.ts), and follows conventional commit style, so it accurately summarizes the primary change.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch terragon/add-claude-3-5-sonnet-model-deactivated

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot changed the title Deactivate Claude 3.5 Sonnet Model with Scheduled Date chore(models): deactivate Claude 3.5 Sep 22, 2025

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
packages/models/src/models/anthropic.ts (2)

102-112: Optional: add a deprecation window to surface warnings before cutoff.

If your policy mirrors claude-2.1, consider setting a deprecation date ~30 days earlier so clients get heads‑up messaging.

Proposed diff:

   name: "Claude 3.5 Sonnet (2024-10-22)",
   family: "anthropic",
-  deprecatedAt: undefined,
+  // Start warning users one month prior
+  deprecatedAt: new Date("2025-09-22T00:00:00Z"),
   deactivatedAt: new Date("2025-10-22T00:00:00Z"),

I can also add a small unit test to assert current-time gating before/after the boundary.


102-112: Deactivation enforcement verified — uses strict > (effective after timestamp); UTC ISO timestamps used)

  • Enforcement locations: apps/gateway/src/models/models.ts (filter: currentDate > model.deactivatedAt), apps/gateway/src/chat/chat.ts (throws when new Date() > modelInfo.deactivatedAt).
  • Sync/IO: apps/worker/src/services/sync-models.ts writes deactivatedAt to the DB; API serializes with model.deactivatedAt?.toISOString() (apps/gateway/src/models/models.ts). DB schema contains deactivatedAt (packages/db/src/schema.ts). Model definition uses new Date("2025-10-22T00:00:00Z") (packages/models/src/models/anthropic.ts). Tests/e2e use the complementary <= check.
  • Semantics: comparisons are JS Date epoch-ms comparisons (timezone-agnostic / UTC-aware because timestamps use Z). Current code treats a model as deactivated only when now > deactivatedAt (if now === deactivatedAt the model remains available).
  • Action: change > to >= in the gateway/chat checks if you require the model to be unavailable at the exact deactivation timestamp; ensure the sync worker runs and any runtime caches are invalidated so deactivation takes effect without a redeploy.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4157083 and c6d6a40.

📒 Files selected for processing (1)
  • packages/models/src/models/anthropic.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
{apps/api,apps/gateway,apps/ui,apps/docs,packages}/**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Always use top-level import; never use require() or dynamic imports (e.g., import(), next/dynamic)

Files:

  • packages/models/src/models/anthropic.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (CLAUDE.md)

**/*.{ts,tsx}: Never use any or as any in this TypeScript project unless absolutely necessary
Always use top-level import; never use require or dynamic imports

Files:

  • packages/models/src/models/anthropic.ts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
  • GitHub Check: lint / run
  • GitHub Check: generate / run
  • GitHub Check: test / run
  • GitHub Check: build / run
  • GitHub Check: autofix
  • GitHub Check: e2e-shards (2)
  • GitHub Check: e2e-shards (4)
  • GitHub Check: e2e-shards (1)
  • GitHub Check: e2e-shards (5)
  • GitHub Check: e2e-shards (3)

@steebchen
steebchen added this pull request to the merge queue Sep 22, 2025
Merged via the queue into main with commit 28cfd7e Sep 22, 2025
16 checks passed
@steebchen
steebchen deleted the terragon/add-claude-3-5-sonnet-model-deactivated branch September 22, 2025 19:26
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