authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-10-03 17:59:58-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-10-03 21:59:58-03:00
log2a455570e6ee70a59241c30126b50c7df1696a6a
tree9a9162fa82550b32ee7763020176324a7193d754
parenta6aebbe2e06e6f2fb247a291272dcfbedb8ed63f
signature Signed by PGP key B5690EEEBB952194

test(server): replay checks a Claude subagent's thread takes its reported model (#15022)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

1 files changed, 3 insertions(+), 0 deletions(-)

  • apps
    • server
      • src
        • orchestration-v2
          • testkit
            • fixtures
              • claude_background_subagent_lifecycle
apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_lifecycle/output.ts+3
...@@ -180,6 +180,9 @@ export function assertClaudeBackgroundSubagentLifecycleOutput(...@@ -180,6 +180,9 @@ export function assertClaudeBackgroundSubagentLifecycleOutput(
180 const agentAChild =180 const agentAChild =
181 agentA?.childThreadId == null ? undefined : result.projections.get(agentA.childThreadId);181 agentA?.childThreadId == null ? undefined : result.projections.get(agentA.childThreadId);
182 assert.isDefined(agentAChild);182 assert.isDefined(agentAChild);
183 // The thread starts on the Agent call's "haiku"; the snapshot's model, which
184 // only arrives with the subagent's first reply, replaces it.
185 assert.equal(agentAChild.thread.modelSelection.model, AGENT_A_OBSERVED_MODEL);
183 assert.deepEqual(assistantTexts(agentAChild), ["A_FIRST", "A_SECOND"]);186 assert.deepEqual(assistantTexts(agentAChild), ["A_FIRST", "A_SECOND"]);
184 assert.deepEqual(conversation(agentAChild), [187 assert.deepEqual(conversation(agentAChild), [
185 "user:Reply with exactly: A_FIRST",188 "user:Reply with exactly: A_FIRST",