Skip to content

Commit 675fe24

Browse files
Gkrumbach07claude
andcommitted
fix(config): enable Claude 4.6 models by removing feature gates
Claude Sonnet 4.6 and Opus 4.6 were feature-gated, causing them to be hidden in staging where the feature flags are not enabled. This change removes the feature gates for both 4.6 models to match the 4.5 models, making them available by default. Changes: - Set featureGated: false for claude-sonnet-4-6 and claude-opus-4-6 - Updated backend tests to reflect the new configuration - Updated sync_flags tests to expect correct flag counts Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent f1314eb commit 675fe24

3 files changed

Lines changed: 18 additions & 14 deletions

File tree

components/backend/cmd/sync_flags_test.go

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func TestFlagsFromManifest_SkipsDefaultUnavailableAndNonGated(t *testing.T) {
7272
},
7373
Models: []types.ModelEntry{
7474
{ID: "claude-sonnet-4-5", Label: "Sonnet 4.5", Provider: "anthropic", Available: true, FeatureGated: false},
75-
{ID: "claude-opus-4-6", Label: "Opus 4.6", Provider: "anthropic", Available: true, FeatureGated: true},
75+
{ID: "claude-opus-4-6", Label: "Opus 4.6", Provider: "anthropic", Available: true, FeatureGated: false},
7676
{ID: "claude-opus-4-1", Label: "Opus 4.1", Provider: "anthropic", Available: false, FeatureGated: true},
7777
{ID: "claude-haiku-4-5", Label: "Haiku 4.5", Provider: "anthropic", Available: true, FeatureGated: false},
7878
{ID: "gemini-2.5-flash", Label: "Gemini 2.5 Flash", Provider: "google", Available: true, FeatureGated: false},
@@ -84,19 +84,20 @@ func TestFlagsFromManifest_SkipsDefaultUnavailableAndNonGated(t *testing.T) {
8484

8585
// Should skip: claude-sonnet-4-5 (default + not gated),
8686
// claude-opus-4-1 (unavailable),
87+
// claude-opus-4-6 (not gated),
8788
// claude-haiku-4-5 (not gated),
8889
// gemini-2.5-flash (default + not gated)
89-
// Should include: claude-opus-4-6, gemini-2.5-pro
90-
if len(flags) != 2 {
91-
t.Fatalf("expected 2 flags, got %d: %v", len(flags), flags)
90+
// Should include: gemini-2.5-pro
91+
if len(flags) != 1 {
92+
t.Fatalf("expected 1 flag, got %d: %v", len(flags), flags)
9293
}
9394

9495
names := map[string]bool{}
9596
for _, f := range flags {
9697
names[f.Name] = true
9798
}
98-
if !names["model.claude-opus-4-6.enabled"] {
99-
t.Error("expected model.claude-opus-4-6.enabled")
99+
if names["model.claude-opus-4-6.enabled"] {
100+
t.Error("non-gated model should be skipped")
100101
}
101102
if !names["model.gemini-2.5-pro.enabled"] {
102103
t.Error("expected model.gemini-2.5-pro.enabled")
@@ -127,17 +128,17 @@ func TestStaleFlagsFromManifest_ReturnsNonGatedModels(t *testing.T) {
127128
DefaultModel: "claude-sonnet-4-5",
128129
Models: []types.ModelEntry{
129130
{ID: "claude-sonnet-4-5", Provider: "anthropic", Available: true, FeatureGated: false},
130-
{ID: "claude-opus-4-6", Provider: "anthropic", Available: true, FeatureGated: true},
131+
{ID: "claude-opus-4-6", Provider: "anthropic", Available: true, FeatureGated: false},
131132
{ID: "claude-haiku-4-5", Provider: "anthropic", Available: true, FeatureGated: false},
132133
{ID: "gemini-2.5-pro", Provider: "google", Available: true, FeatureGated: true},
133134
},
134135
}
135136

136137
stale := StaleFlagsFromManifest(manifest)
137138

138-
// Non-gated models: claude-sonnet-4-5, claude-haiku-4-5
139-
if len(stale) != 2 {
140-
t.Fatalf("expected 2 stale flags, got %d: %v", len(stale), stale)
139+
// Non-gated models: claude-sonnet-4-5, claude-opus-4-6, claude-haiku-4-5
140+
if len(stale) != 3 {
141+
t.Fatalf("expected 3 stale flags, got %d: %v", len(stale), stale)
141142
}
142143
names := map[string]bool{}
143144
for _, s := range stale {
@@ -146,10 +147,13 @@ func TestStaleFlagsFromManifest_ReturnsNonGatedModels(t *testing.T) {
146147
if !names["model.claude-sonnet-4-5.enabled"] {
147148
t.Error("expected model.claude-sonnet-4-5.enabled in stale list")
148149
}
150+
if !names["model.claude-opus-4-6.enabled"] {
151+
t.Error("expected model.claude-opus-4-6.enabled in stale list")
152+
}
149153
if !names["model.claude-haiku-4-5.enabled"] {
150154
t.Error("expected model.claude-haiku-4-5.enabled in stale list")
151155
}
152-
if names["model.claude-opus-4-6.enabled"] {
156+
if names["model.gemini-2.5-pro.enabled"] {
153157
t.Error("gated model should not be in stale list")
154158
}
155159
}

components/backend/handlers/models_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ var _ = Describe("Models Handler", Label(test_constants.LabelUnit, test_constant
4444
},
4545
Models: []types.ModelEntry{
4646
{ID: "claude-sonnet-4-5", Label: "Claude Sonnet 4.5", VertexID: "claude-sonnet-4-5@20250929", Provider: "anthropic", Available: true, FeatureGated: false},
47-
{ID: "claude-opus-4-6", Label: "Claude Opus 4.6", VertexID: "claude-opus-4-6@default", Provider: "anthropic", Available: true, FeatureGated: true},
47+
{ID: "claude-opus-4-6", Label: "Claude Opus 4.6", VertexID: "claude-opus-4-6@default", Provider: "anthropic", Available: true, FeatureGated: false},
4848
{ID: "claude-opus-4-5", Label: "Claude Opus 4.5", VertexID: "claude-opus-4-5@20251101", Provider: "anthropic", Available: true, FeatureGated: false},
4949
{ID: "claude-haiku-4-5", Label: "Claude Haiku 4.5", VertexID: "claude-haiku-4-5@20251001", Provider: "anthropic", Available: true, FeatureGated: false},
5050
{ID: "gemini-2.5-flash", Label: "Gemini 2.5 Flash", VertexID: "gemini-2.5-flash", Provider: "google", Available: true, FeatureGated: false},

components/manifests/base/models.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"vertexId": "claude-opus-4-6@default",
2121
"provider": "anthropic",
2222
"available": true,
23-
"featureGated": true
23+
"featureGated": false
2424
},
2525
{
2626
"id": "claude-opus-4-5",
@@ -44,7 +44,7 @@
4444
"vertexId": "claude-sonnet-4-6@default",
4545
"provider": "anthropic",
4646
"available": true,
47-
"featureGated": true
47+
"featureGated": false
4848
},
4949
{
5050
"id": "gemini-2.5-flash",

0 commit comments

Comments
 (0)