diff --git a/src/agents/ai-judge.ts b/src/agents/ai-judge.ts index 1adc439..178d072 100644 --- a/src/agents/ai-judge.ts +++ b/src/agents/ai-judge.ts @@ -55,7 +55,7 @@ export const callAiJudge: AiJudgeCaller = async ( const response = await runAgent(undefined, prompt, { cwd: options.cwd, maxTurns: 1, - allowedTools: [], + permissionMode: 'readonly', }); if (response.status !== 'done') { diff --git a/src/core/piece/engine/OptionsBuilder.ts b/src/core/piece/engine/OptionsBuilder.ts index 9114ca0..bec67a4 100644 --- a/src/core/piece/engine/OptionsBuilder.ts +++ b/src/core/piece/engine/OptionsBuilder.ts @@ -82,8 +82,8 @@ export class OptionsBuilder { ): RunAgentOptions { return { ...this.buildBaseOptions(step), - // Do not pass permission mode in report/status phases. - permissionMode: undefined, + // Report/status phases are read-only regardless of movement settings. + permissionMode: 'readonly', sessionId, allowedTools: overrides.allowedTools, maxTurns: overrides.maxTurns, diff --git a/src/core/piece/judgment/FallbackStrategy.ts b/src/core/piece/judgment/FallbackStrategy.ts index 85f1225..f3007c8 100644 --- a/src/core/piece/judgment/FallbackStrategy.ts +++ b/src/core/piece/judgment/FallbackStrategy.ts @@ -69,8 +69,8 @@ abstract class JudgmentStrategyBase implements JudgmentStrategy { protected async runConductor(instruction: string, context: JudgmentContext): Promise { const response = await runAgent('conductor', instruction, { cwd: context.cwd, - allowedTools: [], maxTurns: 3, + permissionMode: 'readonly', language: context.language, });