Skip to content

Commit 1cc72da

Browse files
test: update replay harness default to Claude Sonnet 5 (#2472)
* test: update replay harness default to Claude Sonnet 5 Preserve explicit legacy-model replay while advertising a supported default in historical catalogs. Update synthetic C# catalogs, model-list expectations, and the model-specific rate-limit fixture. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * test: preserve legacy selection in catalog and vision fixtures Advertise Sonnet 4.5 alongside the current default when no capture exists, and explicitly pin capability-toggle tests to their existing model so they do not switch model families mid-test. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> * test: use Sonnet 5 for both vision capability turns Migrate session creation and capability updates together across Node, Python, Go, and C#. Update the shared fixture catalogs without changing conversation captures. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79d231f3-b08c-460b-89ec-c2abbd554368 * test: migrate all Sonnet 4.5 fixtures to Sonnet 5 Use Sonnet 5 consistently in test sessions, fake providers, assertions, and replay catalogs. Remove the legacy catalog compatibility shim and retain model-independent replay coverage using an arbitrary provider model. Conversation captures are not regenerated. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79d231f3-b08c-460b-89ec-c2abbd554368 * test: fix migration formatting and fixture-authoring examples Apply Ruff and Spotless reflow after model identifiers shortened, and update Java snapshot-authoring templates to Sonnet 5 so new tests do not reintroduce the retired model. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79d231f3-b08c-460b-89ec-c2abbd554368 * test: trim replay coverage to the Sonnet 5 default Keep missing and empty catalog default coverage and the existing cached catalog test; remove tests added for the deleted compatibility shim. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79d231f3-b08c-460b-89ec-c2abbd554368 --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 79d231f3-b08c-460b-89ec-c2abbd554368
1 parent 42a84e2 commit 1cc72da

465 files changed

Lines changed: 705 additions & 666 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/skills/new-java-e2e-test-yaml-and-test/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ The format is:
3333

3434
```yaml
3535
models:
36-
- claude-sonnet-4.5
36+
- claude-sonnet-5
3737
conversations:
3838
- messages:
3939
- role: system

.github/skills/new-java-e2e-test-yaml-and-test/examples.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ File: `test/snapshots/system_message_sections/should_use_replaced_identity_secti
88

99
```yaml
1010
models:
11-
- claude-sonnet-4.5
11+
- claude-sonnet-5
1212
conversations:
1313
- messages:
1414
- role: system
@@ -73,7 +73,7 @@ File: `test/snapshots/system_message_transform/should_invoke_transform_callbacks
7373

7474
```yaml
7575
models:
76-
- claude-sonnet-4.5
76+
- claude-sonnet-5
7777
conversations:
7878
# First exchange: model decides to call tools
7979
- messages:

dotnet/test/E2E/ClientOptionsE2ETests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ public async Task Should_Forward_Advanced_Session_Options_In_Create_Wire_Request
296296
var session = await Ctx.CreateSessionAsync(client, new SessionConfig
297297
{
298298
ClientName = "advanced-create-client",
299-
Model = "claude-sonnet-4.5",
299+
Model = "claude-sonnet-5",
300300
ReasoningEffort = "medium",
301301
ReasoningSummary = ReasoningSummary.Detailed,
302302
ContextTier = ContextTier.LongContext,
@@ -379,7 +379,7 @@ public async Task Should_Forward_Advanced_Session_Options_In_Create_Wire_Request
379379
Provider = "create-provider",
380380
Id = "create-model",
381381
Name = "Create Model",
382-
ModelId = "claude-sonnet-4.5",
382+
ModelId = "claude-sonnet-5",
383383
WireModel = "create-wire-model",
384384
MaxContextWindowTokens = 12_000,
385385
MaxPromptTokens = 10_000,
@@ -392,7 +392,7 @@ public async Task Should_Forward_Advanced_Session_Options_In_Create_Wire_Request
392392
using var capture = JsonDocument.Parse(await File.ReadAllTextAsync(capturePath));
393393
var createRequest = GetCapturedRequestParams(capture.RootElement, "session.create");
394394
Assert.Equal("advanced-create-client", createRequest.GetProperty("clientName").GetString());
395-
Assert.Equal("claude-sonnet-4.5", createRequest.GetProperty("model").GetString());
395+
Assert.Equal("claude-sonnet-5", createRequest.GetProperty("model").GetString());
396396
Assert.Equal("medium", createRequest.GetProperty("reasoningEffort").GetString());
397397
Assert.Equal("detailed", createRequest.GetProperty("reasoningSummary").GetString());
398398
Assert.Equal("long_context", createRequest.GetProperty("contextTier").GetString());
@@ -442,7 +442,7 @@ public async Task Should_Forward_Singular_Provider_Options_In_Create_Wire_Reques
442442

443443
var session = await Ctx.CreateSessionAsync(client, new SessionConfig
444444
{
445-
Model = "claude-sonnet-4.5",
445+
Model = "claude-sonnet-5",
446446
Provider = new ProviderConfig
447447
{
448448
Type = "azure",
@@ -453,7 +453,7 @@ public async Task Should_Forward_Singular_Provider_Options_In_Create_Wire_Reques
453453
BearerToken = "provider-bearer-token",
454454
Azure = new AzureOptions { ApiVersion = "2024-02-15-preview" },
455455
Headers = new Dictionary<string, string> { ["X-Provider-Wire"] = "yes" },
456-
ModelId = "claude-sonnet-4.5",
456+
ModelId = "claude-sonnet-5",
457457
WireModel = "azure-deployment",
458458
MaxPromptTokens = 8192,
459459
MaxOutputTokens = 1024,
@@ -471,7 +471,7 @@ public async Task Should_Forward_Singular_Provider_Options_In_Create_Wire_Reques
471471
Assert.Equal("provider-bearer-token", provider.GetProperty("bearerToken").GetString());
472472
Assert.Equal("2024-02-15-preview", provider.GetProperty("azure").GetProperty("apiVersion").GetString());
473473
Assert.Equal("yes", provider.GetProperty("headers").GetProperty("X-Provider-Wire").GetString());
474-
Assert.Equal("claude-sonnet-4.5", provider.GetProperty("modelId").GetString());
474+
Assert.Equal("claude-sonnet-5", provider.GetProperty("modelId").GetString());
475475
Assert.Equal("azure-deployment", provider.GetProperty("wireModel").GetString());
476476
Assert.Equal(8192, provider.GetProperty("maxPromptTokens").GetInt32());
477477
Assert.Equal(1024, provider.GetProperty("maxOutputTokens").GetInt32());

dotnet/test/E2E/CopilotRequestE2EProvider.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,9 @@ internal static HttpResponseMessage BuildNonInferenceResponse(string url)
160160

161161
private static readonly string[] ChatCompletionStreamEvents =
162162
[
163-
"data: {\"id\":\"chatcmpl-stub-1\",\"object\":\"chat.completion.chunk\",\"created\":1,\"model\":\"claude-sonnet-4.5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":\"\"},\"finish_reason\":null}]}\n\n",
164-
"data: {\"id\":\"chatcmpl-stub-1\",\"object\":\"chat.completion.chunk\",\"created\":1,\"model\":\"claude-sonnet-4.5\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"" + SyntheticText + "\"},\"finish_reason\":null}]}\n\n",
165-
"data: {\"id\":\"chatcmpl-stub-1\",\"object\":\"chat.completion.chunk\",\"created\":1,\"model\":\"claude-sonnet-4.5\",\"choices\":[{\"index\":0,\"delta\":{},\"finish_reason\":\"stop\"}],\"usage\":{\"prompt_tokens\":5,\"completion_tokens\":7,\"total_tokens\":12}}\n\n",
163+
"data: {\"id\":\"chatcmpl-stub-1\",\"object\":\"chat.completion.chunk\",\"created\":1,\"model\":\"claude-sonnet-5\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":\"\"},\"finish_reason\":null}]}\n\n",
164+
"data: {\"id\":\"chatcmpl-stub-1\",\"object\":\"chat.completion.chunk\",\"created\":1,\"model\":\"claude-sonnet-5\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"" + SyntheticText + "\"},\"finish_reason\":null}]}\n\n",
165+
"data: {\"id\":\"chatcmpl-stub-1\",\"object\":\"chat.completion.chunk\",\"created\":1,\"model\":\"claude-sonnet-5\",\"choices\":[{\"index\":0,\"delta\":{},\"finish_reason\":\"stop\"}],\"usage\":{\"prompt_tokens\":5,\"completion_tokens\":7,\"total_tokens\":12}}\n\n",
166166
"data: [DONE]\n\n",
167167
];
168168

@@ -172,7 +172,7 @@ internal static HttpResponseMessage BuildNonInferenceResponse(string url)
172172
// runtime's Anthropic client fail with "stream ended without producing a Message".
173173
private static readonly string[] AnthropicStreamEvents =
174174
[
175-
"event: message_start\ndata: {\"type\":\"message_start\",\"message\":{\"id\":\"msg_stub_1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-4.5\",\"content\":[],\"stop_reason\":null,\"stop_sequence\":null,\"usage\":{\"input_tokens\":5,\"output_tokens\":1}}}\n\n",
175+
"event: message_start\ndata: {\"type\":\"message_start\",\"message\":{\"id\":\"msg_stub_1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-5\",\"content\":[],\"stop_reason\":null,\"stop_sequence\":null,\"usage\":{\"input_tokens\":5,\"output_tokens\":1}}}\n\n",
176176
"event: content_block_start\ndata: {\"type\":\"content_block_start\",\"index\":0,\"content_block\":{\"type\":\"text\",\"text\":\"\"}}\n\n",
177177
"event: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"" + SyntheticText + "\"}}\n\n",
178178
"event: content_block_stop\ndata: {\"type\":\"content_block_stop\",\"index\":0}\n\n",
@@ -184,13 +184,13 @@ internal static HttpResponseMessage BuildNonInferenceResponse(string url)
184184
"{\"id\":\"resp_stub_1\",\"object\":\"response\",\"status\":\"completed\",\"output\":[{\"id\":\"msg_1\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"output_text\",\"text\":\"" + SyntheticText + "\"}]}],\"usage\":{\"input_tokens\":5,\"output_tokens\":7,\"total_tokens\":12}}";
185185

186186
private static readonly string BufferedChatCompletionJson =
187-
"{\"id\":\"chatcmpl-stub-1\",\"object\":\"chat.completion\",\"created\":1,\"model\":\"claude-sonnet-4.5\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"" + SyntheticText + "\"},\"finish_reason\":\"stop\"}],\"usage\":{\"prompt_tokens\":5,\"completion_tokens\":7,\"total_tokens\":12}}";
187+
"{\"id\":\"chatcmpl-stub-1\",\"object\":\"chat.completion\",\"created\":1,\"model\":\"claude-sonnet-5\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"" + SyntheticText + "\"},\"finish_reason\":\"stop\"}],\"usage\":{\"prompt_tokens\":5,\"completion_tokens\":7,\"total_tokens\":12}}";
188188

189189
private static readonly string BufferedAnthropicMessageJson =
190-
"{\"id\":\"msg_stub_1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-4.5\",\"content\":[{\"type\":\"text\",\"text\":\"" + SyntheticText + "\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"usage\":{\"input_tokens\":5,\"output_tokens\":7}}";
190+
"{\"id\":\"msg_stub_1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-5\",\"content\":[{\"type\":\"text\",\"text\":\"" + SyntheticText + "\"}],\"stop_reason\":\"end_turn\",\"stop_sequence\":null,\"usage\":{\"input_tokens\":5,\"output_tokens\":7}}";
191191

192192
private const string ModelCatalogJson =
193-
"{\"data\":[{\"id\":\"claude-sonnet-4.5\",\"name\":\"Claude Sonnet 4.5\",\"object\":\"model\",\"vendor\":\"Anthropic\",\"version\":\"1\",\"preview\":false,\"model_picker_enabled\":true,\"capabilities\":{\"type\":\"chat\",\"family\":\"claude-sonnet-4.5\",\"tokenizer\":\"o200k_base\",\"limits\":{\"max_context_window_tokens\":200000,\"max_output_tokens\":8192},\"supports\":{\"streaming\":true,\"tool_calls\":true,\"parallel_tool_calls\":true,\"vision\":true}}}]}";
193+
"{\"data\":[{\"id\":\"claude-sonnet-5\",\"name\":\"Claude Sonnet 5\",\"object\":\"model\",\"vendor\":\"Anthropic\",\"version\":\"1\",\"preview\":false,\"model_picker_enabled\":true,\"capabilities\":{\"type\":\"chat\",\"family\":\"claude-sonnet-5\",\"tokenizer\":\"o200k_base\",\"limits\":{\"max_context_window_tokens\":200000,\"max_output_tokens\":8192},\"supports\":{\"streaming\":true,\"tool_calls\":true,\"parallel_tool_calls\":true,\"vision\":true}}}]}";
194194
}
195195

196196
/// <summary>A single request the callback intercepted.</summary>

dotnet/test/E2E/CopilotRequestSessionIdE2ETests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,15 @@ public async Task Threads_The_Session_Id_Into_A_Byok_Session_Inference_Request()
7676
{
7777
OnPermissionRequest = PermissionHandler.ApproveAll,
7878
// BYOK providers require an explicit model id.
79-
Model = "claude-sonnet-4.5",
79+
Model = "claude-sonnet-5",
8080
Provider = new ProviderConfig
8181
{
8282
Type = "openai",
8383
WireApi = "responses",
8484
BaseUrl = "https://byok.invalid/v1",
8585
ApiKey = "byok-secret",
86-
ModelId = "claude-sonnet-4.5",
87-
WireModel = "claude-sonnet-4.5",
86+
ModelId = "claude-sonnet-5",
87+
WireModel = "claude-sonnet-5",
8888
},
8989
});
9090
var byokSessionId = session.SessionId;

dotnet/test/E2E/CopilotRequestWebSocketE2ETests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ private static (string Type, string Json)[] ResponseEvents(string text, string i
349349
];
350350

351351
private const string ModelCatalogJson =
352-
"{\"data\":[{\"id\":\"claude-sonnet-4.5\",\"name\":\"Claude Sonnet 4.5\",\"object\":\"model\",\"vendor\":\"Anthropic\",\"version\":\"1\",\"preview\":false,\"model_picker_enabled\":true,\"supported_endpoints\":[\"/responses\",\"ws:/responses\"],\"capabilities\":{\"type\":\"chat\",\"family\":\"claude-sonnet-4.5\",\"tokenizer\":\"o200k_base\",\"limits\":{\"max_context_window_tokens\":200000,\"max_output_tokens\":8192},\"supports\":{\"streaming\":true,\"tool_calls\":true,\"parallel_tool_calls\":true,\"vision\":true}}}]}";
352+
"{\"data\":[{\"id\":\"claude-sonnet-5\",\"name\":\"Claude Sonnet 5\",\"object\":\"model\",\"vendor\":\"Anthropic\",\"version\":\"1\",\"preview\":false,\"model_picker_enabled\":true,\"supported_endpoints\":[\"/responses\",\"ws:/responses\"],\"capabilities\":{\"type\":\"chat\",\"family\":\"claude-sonnet-5\",\"tokenizer\":\"o200k_base\",\"limits\":{\"max_context_window_tokens\":200000,\"max_output_tokens\":8192},\"supports\":{\"streaming\":true,\"tool_calls\":true,\"parallel_tool_calls\":true,\"vision\":true}}}]}";
353353

354354
private static int GetFreePort()
355355
{

dotnet/test/E2E/RewindE2ETests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public async Task Should_Restore_Tracked_File_And_Conversation()
2424
await File.WriteAllTextAsync(filePath, OriginalFileContent);
2525
await using var session = await CreateSessionAsync(new SessionConfig
2626
{
27-
Model = "claude-sonnet-4.5",
27+
Model = "claude-sonnet-5",
2828
EnableFileChangeTracking = true,
2929
});
3030

dotnet/test/E2E/RpcServerE2ETests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ public async Task Should_Call_Rpc_Models_List_With_Typed_Result()
171171
var result = await client.Rpc.Models.ListAsync();
172172

173173
Assert.NotNull(result.Models);
174-
Assert.Contains(result.Models, model => model.Id == "claude-sonnet-4.5");
174+
Assert.Contains(result.Models, model => model.Id == "claude-sonnet-5");
175175
Assert.All(result.Models, model => Assert.False(string.IsNullOrWhiteSpace(model.Name)));
176176
}
177177

dotnet/test/E2E/RpcSessionStateE2ETests.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ private static async Task<Exception> AssertImplementedFailureAsync(Func<Task> ac
2222
[Fact]
2323
public async Task Should_Call_Session_Rpc_Model_GetCurrent()
2424
{
25-
await using var session = await CreateSessionAsync(new SessionConfig { Model = "claude-sonnet-4.5" });
25+
await using var session = await CreateSessionAsync(new SessionConfig { Model = "claude-sonnet-5" });
2626

2727
var result = await session.Rpc.Model.GetCurrentAsync();
2828

2929
Assert.NotNull(result.ModelId);
3030
Assert.NotEmpty(result.ModelId);
3131
// Strengthen: verify the configured model is actually in effect, not just any model
32-
Assert.Equal("claude-sonnet-4.5", result.ModelId);
32+
Assert.Equal("claude-sonnet-5", result.ModelId);
3333
}
3434

3535
[Fact]
@@ -48,12 +48,12 @@ public async Task Should_Call_Session_Rpc_Model_SwitchTo()
4848

4949
await using var session = await isolatedCtx.CreateSessionAsync(isolatedClient, new SessionConfig
5050
{
51-
Model = "claude-sonnet-4.5",
51+
Model = "claude-sonnet-5",
5252
OnPermissionRequest = PermissionHandler.ApproveAll,
5353
});
5454

5555
var before = await session.Rpc.Model.GetCurrentAsync();
56-
Assert.Equal("claude-sonnet-4.5", before.ModelId);
56+
Assert.Equal("claude-sonnet-5", before.ModelId);
5757

5858
var result = await session.Rpc.Model.SwitchToAsync(modelId: "gpt-5.4", reasoningEffort: "high");
5959
Assert.Equal("gpt-5.4", result.ModelId);
@@ -281,14 +281,14 @@ public async Task Should_Call_Metadata_Snapshot_SetWorkingDirectory_And_RecordCo
281281
var branch = $"rpc-context-{Guid.NewGuid():N}";
282282
await using var session = await CreateSessionAsync(new SessionConfig
283283
{
284-
Model = "claude-sonnet-4.5",
284+
Model = "claude-sonnet-5",
285285
WorkingDirectory = firstDirectory,
286286
});
287287

288288
var initialSnapshot = await session.Rpc.Metadata.SnapshotAsync();
289289
Assert.Equal(session.SessionId, initialSnapshot.SessionId);
290290
Assert.Equal(MetadataSnapshotCurrentMode.Interactive, initialSnapshot.CurrentMode);
291-
Assert.Equal("claude-sonnet-4.5", initialSnapshot.SelectedModel);
291+
Assert.Equal("claude-sonnet-5", initialSnapshot.SelectedModel);
292292
Assert.False(initialSnapshot.IsRemote);
293293
Assert.False(initialSnapshot.AlreadyInUse);
294294
Assert.NotEqual(default, initialSnapshot.StartTime);
@@ -405,14 +405,14 @@ public async Task Should_Set_ReasoningEffort_And_Auto_Name()
405405
{
406406
await using var session = await CreateSessionAsync(new SessionConfig
407407
{
408-
Model = "claude-sonnet-4.5",
408+
Model = "claude-sonnet-5",
409409
});
410410

411411
var reasoning = await session.Rpc.Model.SetReasoningEffortAsync("high");
412412
Assert.Equal("high", reasoning.ReasoningEffort);
413413

414414
var currentModel = await session.Rpc.Model.GetCurrentAsync();
415-
Assert.Equal("claude-sonnet-4.5", currentModel.ModelId);
415+
Assert.Equal("claude-sonnet-5", currentModel.ModelId);
416416
Assert.Equal("high", currentModel.ReasoningEffort);
417417

418418
var autoName = $"Auto Session {Guid.NewGuid():N}";
@@ -653,9 +653,9 @@ public async Task Should_Compact_Session_History_After_Messages()
653653
var contextInfo = await session.Rpc.Metadata.ContextInfoAsync(
654654
promptTokenLimit: 128_000,
655655
outputTokenLimit: 4_096,
656-
selectedModel: "claude-sonnet-4.5");
656+
selectedModel: "claude-sonnet-5");
657657
var context = Assert.IsType<MetadataContextInfoResultContextInfo>(contextInfo.ContextInfo);
658-
Assert.Equal("claude-sonnet-4.5", context.ModelName);
658+
Assert.Equal("claude-sonnet-5", context.ModelName);
659659
Assert.Equal(128_000, context.PromptTokenLimit);
660660
Assert.True(context.Limit >= context.PromptTokenLimit);
661661
Assert.True(context.TotalTokens > 0);
@@ -666,7 +666,7 @@ public async Task Should_Compact_Session_History_After_Messages()
666666
context.SystemTokens + context.ConversationTokens + context.ToolDefinitionsTokens,
667667
context.TotalTokens);
668668

669-
var recomputed = await session.Rpc.Metadata.RecomputeContextTokensAsync("claude-sonnet-4.5");
669+
var recomputed = await session.Rpc.Metadata.RecomputeContextTokensAsync("claude-sonnet-5");
670670
Assert.True(recomputed.SystemTokenCount > 0);
671671
Assert.True(recomputed.MessagesTokenCount > 0);
672672
Assert.Equal(recomputed.SystemTokenCount + recomputed.MessagesTokenCount, recomputed.TotalTokens);

dotnet/test/E2E/RpcSessionStateExtrasE2ETests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public async Task Should_List_Models_For_Session()
3232
await using var client = CreateAuthenticatedClient(token);
3333
await using var session = await Ctx.CreateSessionAsync(client, new SessionConfig
3434
{
35-
Model = "claude-sonnet-4.5",
35+
Model = "claude-sonnet-5",
3636
OnPermissionRequest = PermissionHandler.ApproveAll,
3737
});
3838

@@ -41,7 +41,7 @@ public async Task Should_List_Models_For_Session()
4141
Assert.NotNull(result.List);
4242
Assert.NotEmpty(result.List);
4343
// The configured model must be present in the returned catalog.
44-
Assert.Contains(result.List, model => model.GetRawText().Contains("claude-sonnet-4.5", StringComparison.Ordinal));
44+
Assert.Contains(result.List, model => model.GetRawText().Contains("claude-sonnet-5", StringComparison.Ordinal));
4545
}
4646

4747
[Fact]
@@ -73,7 +73,7 @@ public async Task Should_Add_Byok_Provider_And_Model_At_Runtime()
7373
Provider = providerName,
7474
Id = modelId,
7575
Name = "SDK Runtime Model",
76-
ModelId = "claude-sonnet-4.5",
76+
ModelId = "claude-sonnet-5",
7777
WireModel = "wire-sdk-runtime-model",
7878
MaxContextWindowTokens = 4_096,
7979
MaxPromptTokens = 3_072,
@@ -277,7 +277,7 @@ public async Task Should_Update_And_Clear_Live_Subagent_Settings()
277277
{
278278
["general-purpose"] = new()
279279
{
280-
Model = "claude-sonnet-4.5",
280+
Model = "claude-sonnet-5",
281281
EffortLevel = "high",
282282
ContextTier = SubagentSettingsEntryContextTier.Default,
283283
},

0 commit comments

Comments
 (0)