Skip to content

Commit cda0e97

Browse files
Fix Claude tests to create threads with Claude model
The two Claude tests ('forwards claude effort options' and 'restarts claude sessions when claude effort changes') dispatched turns with provider 'claudeAgent' on thread-1, which was created by createHarness with model 'gpt-5-codex'. The provider validation infers 'codex' for that model, rejecting the 'claudeAgent' provider mismatch. Fix by having each Claude test create a dedicated thread with model 'claude-sonnet-4-6' so inferProviderForModel returns 'claudeAgent' and the validation passes. Co-authored-by: Julius Marminge <juliusmarminge@users.noreply.github.com>
1 parent e6254a8 commit cda0e97

File tree

1 file changed

+36
-4
lines changed

1 file changed

+36
-4
lines changed

apps/server/src/orchestration/Layers/ProviderCommandReactor.test.ts

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -355,11 +355,27 @@ describe("ProviderCommandReactor", () => {
355355
const harness = await createHarness();
356356
const now = new Date().toISOString();
357357

358+
await Effect.runPromise(
359+
harness.engine.dispatch({
360+
type: "thread.create",
361+
commandId: CommandId.makeUnsafe("cmd-thread-create-claude"),
362+
threadId: ThreadId.makeUnsafe("thread-claude"),
363+
projectId: asProjectId("project-1"),
364+
title: "Claude Thread",
365+
model: "claude-sonnet-4-6",
366+
interactionMode: DEFAULT_PROVIDER_INTERACTION_MODE,
367+
runtimeMode: "approval-required",
368+
branch: null,
369+
worktreePath: null,
370+
createdAt: now,
371+
}),
372+
);
373+
358374
await Effect.runPromise(
359375
harness.engine.dispatch({
360376
type: "thread.turn.start",
361377
commandId: CommandId.makeUnsafe("cmd-turn-start-claude-effort"),
362-
threadId: ThreadId.makeUnsafe("thread-1"),
378+
threadId: ThreadId.makeUnsafe("thread-claude"),
363379
message: {
364380
messageId: asMessageId("user-message-claude-effort"),
365381
role: "user",
@@ -391,7 +407,7 @@ describe("ProviderCommandReactor", () => {
391407
},
392408
});
393409
expect(harness.sendTurn.mock.calls[0]?.[0]).toMatchObject({
394-
threadId: ThreadId.makeUnsafe("thread-1"),
410+
threadId: ThreadId.makeUnsafe("thread-claude"),
395411
model: "claude-sonnet-4-6",
396412
modelOptions: {
397413
claudeAgent: {
@@ -585,11 +601,27 @@ describe("ProviderCommandReactor", () => {
585601
const harness = await createHarness();
586602
const now = new Date().toISOString();
587603

604+
await Effect.runPromise(
605+
harness.engine.dispatch({
606+
type: "thread.create",
607+
commandId: CommandId.makeUnsafe("cmd-thread-create-claude-restart"),
608+
threadId: ThreadId.makeUnsafe("thread-claude-restart"),
609+
projectId: asProjectId("project-1"),
610+
title: "Claude Restart Thread",
611+
model: "claude-sonnet-4-6",
612+
interactionMode: DEFAULT_PROVIDER_INTERACTION_MODE,
613+
runtimeMode: "approval-required",
614+
branch: null,
615+
worktreePath: null,
616+
createdAt: now,
617+
}),
618+
);
619+
588620
await Effect.runPromise(
589621
harness.engine.dispatch({
590622
type: "thread.turn.start",
591623
commandId: CommandId.makeUnsafe("cmd-turn-start-claude-effort-1"),
592-
threadId: ThreadId.makeUnsafe("thread-1"),
624+
threadId: ThreadId.makeUnsafe("thread-claude-restart"),
593625
message: {
594626
messageId: asMessageId("user-message-claude-effort-1"),
595627
role: "user",
@@ -616,7 +648,7 @@ describe("ProviderCommandReactor", () => {
616648
harness.engine.dispatch({
617649
type: "thread.turn.start",
618650
commandId: CommandId.makeUnsafe("cmd-turn-start-claude-effort-2"),
619-
threadId: ThreadId.makeUnsafe("thread-1"),
651+
threadId: ThreadId.makeUnsafe("thread-claude-restart"),
620652
message: {
621653
messageId: asMessageId("user-message-claude-effort-2"),
622654
role: "user",

0 commit comments

Comments
 (0)