Skip to content

Commit a38b183

Browse files
test(server): assert the read-only on-request write by its permission
The shared tool_call_read_only_on_request assertion pinned a shell command and a `command` request, so it only held when the agent picked the shell. The prompt allows a shell command or a file edit; live Grok uses its write tool, which asks for a file change. One assertion now covers Codex, Claude, Grok and the ACP registry agent: exactly one request, accepted and resolved, of kind command or file-change; one approval card for it; a completed command_execution or file_change for the probe file whose content, when projected, is the requested text. The Grok variant is re-recorded live, and the registry's synthetic command now writes the requested text. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
1 parent 42c26da commit a38b183

6 files changed

Lines changed: 256 additions & 102 deletions

File tree

‎apps/server/src/orchestration-v2/testkit/fixtures/index.ts‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,7 @@ import {
7878
import { assertToolCallReadOnlyClaudeOutput } from "./tool_call_read_only/claude_output.ts";
7979
import { assertToolCallReadOnlyCursorOutput } from "./tool_call_read_only/cursor_output.ts";
8080
import { toolCallReadOnlyInput } from "./tool_call_read_only/input.ts";
81-
import { assertToolCallReadOnlyOnRequestClaudeOutput } from "./tool_call_read_only_on_request/claude_output.ts";
82-
import { assertToolCallReadOnlyOnRequestOutput } from "./tool_call_read_only_on_request/codex_output.ts";
81+
import { assertToolCallReadOnlyOnRequestOutput } from "./tool_call_read_only_on_request/output.ts";
8382
import { toolCallReadOnlyOnRequestInput } from "./tool_call_read_only_on_request/input.ts";
8483
import { assertToolCallRestrictedGranularClaudeOutput } from "./tool_call_restricted_granular/claude_output.ts";
8584
import { assertToolCallRestrictedGranularOutput } from "./tool_call_restricted_granular/codex_output.ts";
@@ -405,7 +404,7 @@ export const ORCHESTRATOR_REPLAY_FIXTURES: ReadonlyArray<OrchestratorReplayFixtu
405404
),
406405
modelSelection: CLAUDE_MODEL_SELECTION,
407406
runtimePolicyOverride: READ_ONLY_ON_REQUEST_POLICY,
408-
assertOutput: assertToolCallReadOnlyOnRequestClaudeOutput,
407+
assertOutput: assertToolCallReadOnlyOnRequestOutput,
409408
},
410409
{
411410
driver: ProviderDriverKind.make("grok"),

‎apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/claude_output.ts‎

Lines changed: 0 additions & 50 deletions
This file was deleted.

‎apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/codex_output.ts‎

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)