diff --git a/testing/integration/src/test/kotlin/ToolCallGateTest.kt b/testing/integration/src/test/kotlin/ToolCallGateTest.kt index 0316e493..1299e954 100644 --- a/testing/integration/src/test/kotlin/ToolCallGateTest.kt +++ b/testing/integration/src/test/kotlin/ToolCallGateTest.kt @@ -377,11 +377,12 @@ class ToolCallGateTest { orchestrator.run(SessionId("compress"), singleStageGraph(), config) // The second inference carries round-1's tool result in its context pack — compressed - // (blank lines stripped), not raw. Raw output stays authoritative on the executor's - // event path (invariant #6); the compressor only shapes the derived context entry. + // (blank lines stripped), not raw, under the uniform `[tool exit=N]` frame the model sees. + // Raw output stays authoritative on the executor's event path (invariant #6); the compressor + // only shapes the derived context entry. val secondPack = provider.requests[1].contextPack val toolEntry = secondPack.layers.values.flatten().first { it.sourceType == "toolResult" } - assertEquals("line1\nline2\nline3", toolEntry.content) + assertEquals("[file_write exit=0]\nline1\nline2\nline3", toolEntry.content) } @Test