diff --git a/docs/tool-catalog.i18n.yaml b/docs/tool-catalog.i18n.yaml index e1a3ad3d78..8cdff8b24e 100644 --- a/docs/tool-catalog.i18n.yaml +++ b/docs/tool-catalog.i18n.yaml @@ -2,5 +2,5 @@ # side as of the last confirmed-consistent state. Both languages carry equal authority; # after editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write docs/tool-catalog.md -tool-catalog.md: 0b5924db75999173769f847cc4f091850fd2d8c8 -tool-catalog.zh.md: 712097eb399e502e994630a64fd949668d29bd0b +tool-catalog.md: c60d3979e65f3c5a2bc363fd082a3f63a446e8b5 +tool-catalog.zh.md: dc061b51681cc73f9d10059276bcdfa5b3268cff diff --git a/docs/tool-catalog.md b/docs/tool-catalog.md index 0b5924db75..c60d3979e6 100644 --- a/docs/tool-catalog.md +++ b/docs/tool-catalog.md @@ -1343,15 +1343,15 @@ Update the exact current goal revision. edit, pause, and resume require a direct }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ diff --git a/docs/tool-catalog.zh.md b/docs/tool-catalog.zh.md index 712097eb39..dc061b5168 100644 --- a/docs/tool-catalog.zh.md +++ b/docs/tool-catalog.zh.md @@ -1349,15 +1349,15 @@ glob 和 grep 是无条件可用的发现工具,通过 ctx.subprocess spawn }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ diff --git a/packages/fs/tool-fs/src/sandbox.ts b/packages/fs/tool-fs/src/sandbox.ts index 0b74f1b8a2..60ceca9151 100644 --- a/packages/fs/tool-fs/src/sandbox.ts +++ b/packages/fs/tool-fs/src/sandbox.ts @@ -61,13 +61,13 @@ export class FsSandboxController { sandbox_permissions: { type: 'string', enum: [...this.escalationModes], - description: 'Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. ' - + 'A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.', + description: 'The wider sandbox mode this file operation needs. Only valid as a one-shot retry ' + + 'of an operation the sandbox just denied; requires justification and user approval.', }, justification: { type: 'string', - description: 'Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions ' - + 'is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions.', + description: 'Required with sandbox_permissions: one sentence for the user explaining ' + + 'why this exact file operation needs the wider access.', }, } } diff --git a/packages/goal/tool-goal/src/index.ts b/packages/goal/tool-goal/src/index.ts index 5f0dbe58b8..15a3119a89 100644 --- a/packages/goal/tool-goal/src/index.ts +++ b/packages/goal/tool-goal/src/index.ts @@ -252,11 +252,11 @@ export function apply(ctx: Context, config: Config): void { enum: UPDATE_ACTIONS, description: 'edit | pause | resume | complete | blocked', }, - objective: { type: 'string', description: 'Replacement objective for action edit; ignored otherwise.' }, - max_goal_rounds: { type: 'number', description: 'Replacement cap for action edit; ignored otherwise.' }, + objective: { type: 'string', description: 'Replacement objective; valid only with action edit.' }, + max_goal_rounds: { type: 'number', description: 'Replacement cap; valid only with action edit.' }, blocked_reason: { type: 'string', - description: 'Concrete blocking condition required for action blocked; ignored otherwise.', + description: 'Concrete blocking condition; required only with action blocked.', }, }, output: GOAL_OUTPUT, diff --git a/packages/shell/tool-bash/src/index.ts b/packages/shell/tool-bash/src/index.ts index c94923cb5c..7e1f6227e2 100644 --- a/packages/shell/tool-bash/src/index.ts +++ b/packages/shell/tool-bash/src/index.ts @@ -262,13 +262,11 @@ export function apply(ctx: Context, config: Config = {}): void { sandbox_permissions: { type: 'string' as const, enum: [...escalationModes], - description: 'Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. ' - + 'A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.', + description: 'The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.', }, justification: { type: 'string' as const, - description: 'Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions ' - + 'is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions.', + description: 'Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access.', }, } : {}, }, diff --git a/snapshots/sdk/bash-tool/tool-schemas.expected.json b/snapshots/sdk/bash-tool/tool-schemas.expected.json index 26bdf52fe2..58b6f5a201 100644 --- a/snapshots/sdk/bash-tool/tool-schemas.expected.json +++ b/snapshots/sdk/bash-tool/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/sdk/subagent-activation-limit/tool-schemas.1.expected.json b/snapshots/sdk/subagent-activation-limit/tool-schemas.1.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/sdk/subagent-activation-limit/tool-schemas.1.expected.json +++ b/snapshots/sdk/subagent-activation-limit/tool-schemas.1.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/sdk/subagent-continuable-inheritance/tool-schemas.1.expected.json b/snapshots/sdk/subagent-continuable-inheritance/tool-schemas.1.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/sdk/subagent-continuable-inheritance/tool-schemas.1.expected.json +++ b/snapshots/sdk/subagent-continuable-inheritance/tool-schemas.1.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/sdk/subagent-continuable/tool-schemas.1.expected.json b/snapshots/sdk/subagent-continuable/tool-schemas.1.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/sdk/subagent-continuable/tool-schemas.1.expected.json +++ b/snapshots/sdk/subagent-continuable/tool-schemas.1.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/sdk/subagent-dsh-sdk-diagnostic/tool-schemas.expected.json b/snapshots/sdk/subagent-dsh-sdk-diagnostic/tool-schemas.expected.json index 0e68d6d866..55005a53e3 100644 --- a/snapshots/sdk/subagent-dsh-sdk-diagnostic/tool-schemas.expected.json +++ b/snapshots/sdk/subagent-dsh-sdk-diagnostic/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -503,15 +503,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -646,7 +646,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -654,7 +654,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/sdk/subagent-dsh-sdk-dynamic-route/tool-schemas.1.expected.json b/snapshots/sdk/subagent-dsh-sdk-dynamic-route/tool-schemas.1.expected.json index 73ff9706cd..c185eca7ec 100644 --- a/snapshots/sdk/subagent-dsh-sdk-dynamic-route/tool-schemas.1.expected.json +++ b/snapshots/sdk/subagent-dsh-sdk-dynamic-route/tool-schemas.1.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -453,15 +453,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -596,7 +596,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -604,7 +604,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/sdk/subagent-dsh-sdk-dynamic-route/tool-schemas.expected.json b/snapshots/sdk/subagent-dsh-sdk-dynamic-route/tool-schemas.expected.json index a8b0bf6393..e93f34ff32 100644 --- a/snapshots/sdk/subagent-dsh-sdk-dynamic-route/tool-schemas.expected.json +++ b/snapshots/sdk/subagent-dsh-sdk-dynamic-route/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -478,15 +478,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -621,7 +621,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -629,7 +629,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/sdk/subagent-list-agents/tool-schemas.1.expected.json b/snapshots/sdk/subagent-list-agents/tool-schemas.1.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/sdk/subagent-list-agents/tool-schemas.1.expected.json +++ b/snapshots/sdk/subagent-list-agents/tool-schemas.1.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/sdk/subagent-send-message/tool-schemas.1.expected.json b/snapshots/sdk/subagent-send-message/tool-schemas.1.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/sdk/subagent-send-message/tool-schemas.1.expected.json +++ b/snapshots/sdk/subagent-send-message/tool-schemas.1.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/sdk/text-turn/tool-schemas.expected.json b/snapshots/sdk/text-turn/tool-schemas.expected.json index 26bdf52fe2..58b6f5a201 100644 --- a/snapshots/sdk/text-turn/tool-schemas.expected.json +++ b/snapshots/sdk/text-turn/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/agent-instructions/tool-schemas.expected.json b/snapshots/session/agent-instructions/tool-schemas.expected.json index f5b6040074..a3a82e074d 100644 --- a/snapshots/session/agent-instructions/tool-schemas.expected.json +++ b/snapshots/session/agent-instructions/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -640,7 +640,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -648,7 +648,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -701,7 +701,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -709,7 +709,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -1061,15 +1061,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -1204,7 +1204,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -1212,7 +1212,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/background-confinement-failure/tool-schemas.expected.json b/snapshots/session/background-confinement-failure/tool-schemas.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/session/background-confinement-failure/tool-schemas.expected.json +++ b/snapshots/session/background-confinement-failure/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/both-mode-turn/system-prompt.expected.md b/snapshots/session/both-mode-turn/system-prompt.expected.md index 9af8c86327..f15f09f8de 100644 --- a/snapshots/session/both-mode-turn/system-prompt.expected.md +++ b/snapshots/session/both-mode-turn/system-prompt.expected.md @@ -60,9 +60,9 @@ interface ToolArgsMap { workdir?: string; /** Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies. */ run_in_background?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access. */ justification?: string; } & Record; /** Create one persisted same-session completion goal when the current direct human request is a long-running objective that should continue across autonomous goal rounds. You may infer that intent without requiring the user to say "create a goal". Do not use this for trivial single-turn work. Execution rejects non-human and subagent authority. */ @@ -82,9 +82,9 @@ interface ToolArgsMap { new_string: string; /** Replace all matches. Defaults to false; when false, old_string must appear exactly once. */ replace_all?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; /** Use only in plan mode. Present your plan for the user's review and, on approval, leave plan mode. Send the COMPLETE plan as markdown, starting with a # heading that names it. The user may approve (carry out the plan from your next step) or keep planning — their feedback comes back in the tool result; revise and present again. */ @@ -198,11 +198,11 @@ interface ToolArgsMap { revision: number; /** edit | pause | resume | complete | blocked */ action: "edit" | "pause" | "resume" | "complete" | "blocked"; - /** Replacement objective for action edit; ignored otherwise. */ + /** Replacement objective; valid only with action edit. */ objective?: string; - /** Replacement cap for action edit; ignored otherwise. */ + /** Replacement cap; valid only with action edit. */ max_goal_rounds?: number; - /** Concrete blocking condition required for action blocked; ignored otherwise. */ + /** Concrete blocking condition; required only with action blocked. */ blocked_reason?: string; } & Record; /** Fetch the content of a specific HTTP(S) URL and return it decoded to text. */ @@ -248,9 +248,9 @@ interface ToolArgsMap { file_path: string; /** Full UTF-8 text content to write. */ content: string; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; } diff --git a/snapshots/session/both-mode-turn/tool-schemas.expected.json b/snapshots/session/both-mode-turn/tool-schemas.expected.json index c005e393fb..86ee3527e9 100644 --- a/snapshots/session/both-mode-turn/tool-schemas.expected.json +++ b/snapshots/session/both-mode-turn/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -486,15 +486,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -629,7 +629,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -637,7 +637,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/browser-use-chrome-devtools-mcp/tool-schemas.expected.json b/snapshots/session/browser-use-chrome-devtools-mcp/tool-schemas.expected.json index 147c75cf5a..1cb484d359 100644 --- a/snapshots/session/browser-use-chrome-devtools-mcp/tool-schemas.expected.json +++ b/snapshots/session/browser-use-chrome-devtools-mcp/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -556,15 +556,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -699,7 +699,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -707,7 +707,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/browser-use-playwright-mcp/tool-schemas.expected.json b/snapshots/session/browser-use-playwright-mcp/tool-schemas.expected.json index d4755a55bb..db6f9d1f94 100644 --- a/snapshots/session/browser-use-playwright-mcp/tool-schemas.expected.json +++ b/snapshots/session/browser-use-playwright-mcp/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -558,15 +558,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -701,7 +701,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -709,7 +709,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/browser-use-stagehand-native/tool-schemas.expected.json b/snapshots/session/browser-use-stagehand-native/tool-schemas.expected.json index 85a9106549..09640f90af 100644 --- a/snapshots/session/browser-use-stagehand-native/tool-schemas.expected.json +++ b/snapshots/session/browser-use-stagehand-native/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -662,15 +662,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -805,7 +805,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -813,7 +813,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/compaction-output-reserve/cordis.snapshot.yml b/snapshots/session/compaction-output-reserve/cordis.snapshot.yml index eb0b574617..919837f420 100644 --- a/snapshots/session/compaction-output-reserve/cordis.snapshot.yml +++ b/snapshots/session/compaction-output-reserve/cordis.snapshot.yml @@ -1,5 +1,5 @@ # With 1,800 tokens of headroom, a 1,000-token output reservation lowers the -# trigger from 8,160 to 7,400, between the history and its condensed replacement. +# trigger from 8,000 to 7,200, between the history and its condensed replacement. - id: llm-deepseek name: '@deepseek-ai/dsh-llm-deepseek' @@ -28,5 +28,5 @@ name: DeepSeek models: - id: deepseek-v4-flash - contextWindow: 10200 + contextWindow: 10000 defaultMaxTokens: 1000 diff --git a/snapshots/session/compaction-output-reserve/cordis.yml b/snapshots/session/compaction-output-reserve/cordis.yml index 249cf9b803..6b78a0b41b 100644 --- a/snapshots/session/compaction-output-reserve/cordis.yml +++ b/snapshots/session/compaction-output-reserve/cordis.yml @@ -4,7 +4,7 @@ config: models: - id: deepseek-v4-flash - contextWindow: 10200 + contextWindow: 10000 maxTokens: 1000 - id: compaction-basic diff --git a/snapshots/session/compaction-output-reserve/session.v4.jsonl b/snapshots/session/compaction-output-reserve/session.v4.jsonl deleted file mode 100644 index 83c90893cf..0000000000 --- a/snapshots/session/compaction-output-reserve/session.v4.jsonl +++ /dev/null @@ -1,27 +0,0 @@ -{"type":"session","version":4,"id":"{{session:1}}","createdAt":0,"cwd":"{{cwd}}","isSeeded":false,"delegationDepth":0} -{"type":"permission/preset","data":{"preset":"danger-full-access"}} -{"type":"sandbox/mode","data":{"mode":"danger-full-access"}} -{"type":"approval/policy","data":{"policy":"never"}} -{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"inserted":[{"content":[{"type":"text","text":"Establish a durable compaction premise before continuing. Record every part of this historical evidence: the snapshot uses keyless replay; persistence uses JSONL; the assembled headless application loads its real Cordis composition; model-visible inputs remain logged; tool calls and results remain paired and ordered; output reservation reduces the message budget before proactive compaction; compaction opens with compaction/start and closes with compaction/end; a successful auxiliary summary records compaction/summary source metadata; the replacement surface shadows only an older balanced range; the checkpoint remains smaller than the history it replaces; the newest tool result remains verbatim; the next request sees that checkpoint; the final response proves the same turn continued; deterministic snapshot evidence stays separate from the live-provider smoke; and no external API key is needed. Emit one alpha marker through bash, then finish the task after proactive compaction with the exact words PROACTIVE COMPACTION COMPLETE."}],"source":{"kind":"user"},"role":"user","id":"{{message:1}}"}]}} -{"type":"turn/start","data":{"turn":1}} -{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"removedCount":1,"inserted":[]}} -{"type":"step/start","data":{"turn":1,"step":1}} -{"type":"system/message","data":{"turn":1,"step":1,"message":{"role":"system","content":[{"type":"text","text":"{{system}}"}],"source":{"kind":"system-prompt"},"id":"{{message:2}}"}},"surfaceOp":"append"} -{"type":"user/message","data":{"content":[{"type":"text","text":"Establish a durable compaction premise before continuing. Record every part of this historical evidence: the snapshot uses keyless replay; persistence uses JSONL; the assembled headless application loads its real Cordis composition; model-visible inputs remain logged; tool calls and results remain paired and ordered; output reservation reduces the message budget before proactive compaction; compaction opens with compaction/start and closes with compaction/end; a successful auxiliary summary records compaction/summary source metadata; the replacement surface shadows only an older balanced range; the checkpoint remains smaller than the history it replaces; the newest tool result remains verbatim; the next request sees that checkpoint; the final response proves the same turn continued; deterministic snapshot evidence stays separate from the live-provider smoke; and no external API key is needed. Emit one alpha marker through bash, then finish the task after proactive compaction with the exact words PROACTIVE COMPACTION COMPLETE."}],"source":{"kind":"user"},"role":"user","id":"{{message:1}}"},"surfaceOp":"append"} -{"type":"user/message","data":{"content":[{"type":"text","text":"Current runtime context. This snapshot supersedes earlier runtime-context snapshots.\n\nCurrent DSH file policy: danger-full-access. The DSH file sandbox does not restrict file modifications by available operations.\n\nApproval prompts are disabled in this session: actions that require approval are rejected automatically — do not request sandbox escalation (do not set `sandbox_permissions`)."}],"source":{"kind":"runtime-context","form":"snapshot","sections":[{"name":"sandbox:policy","text":"Current DSH file policy: danger-full-access. The DSH file sandbox does not restrict file modifications by available operations."},{"name":"approval:policy","text":"Approval prompts are disabled in this session: actions that require approval are rejected automatically — do not request sandbox escalation (do not set `sandbox_permissions`)."}]},"role":"user","id":"{{message:3}}"},"surfaceOp":"append"} -{"type":"request/header","data":{"header":{"config":{"provider":"deepseek-official","model":"deepseek-v4-flash","maxTokens":1000},"adapterDefaults":{"maxTokens":true},"tools":"{{tools}}"},"reason":"initial"}} -{"type":"request/context","data":{"provider":"deepseek-official","model":"deepseek-v4-flash","contextWindow":10200}} -{"type":"session/title","data":{"title":"Establish a durable compaction premise","messageSeqs":[8],"source":{"kind":"fallback"}}} -{"type":"assistant/message","data":{"turn":1,"step":1,"message":{"role":"assistant","content":[{"type":"tool-call","id":"call_compaction_marker","name":"bash","arguments":"{\"command\":\"printf 'alpha\\n'\",\"description\":\"Emit compaction premise marker\"}"}],"source":{"kind":"model","provider":"deepseek-official","model":"deepseek-v4-flash"},"id":"{{message:4}}"},"usage":{"inputTokens":24,"outputTokens":6},"stream":[{"type":"chunk","time":1788699352997,"chunk":{"type":"block-start","index":0,"blockType":"tool-call"}},{"type":"tool-call-chunks","time0":1788699352997,"index":0,"dt":[],"id":"call_compaction_marker","name":"bash","args":["{\"command\":\"printf 'alpha\\n'\",\"description\":\"Emit compaction premise marker\"}"]},{"type":"chunk","time":1788699352998,"chunk":{"type":"block-end","index":0,"block":{"type":"tool-call","id":"call_compaction_marker","name":"bash","arguments":"{\"command\":\"printf 'alpha\\n'\",\"description\":\"Emit compaction premise marker\"}"}}},{"type":"chunk","time":1788699352998,"chunk":{"type":"usage","usage":{"inputTokens":24,"outputTokens":6}}},{"type":"chunk","time":1788699352998,"chunk":{"type":"finish","reason":{"kind":"tool-calls"}}}]},"surfaceOp":"append"} -{"type":"tool/call","data":{"turn":1,"step":1,"callId":"call_compaction_marker","name":"bash","arguments":"{\"command\":\"printf 'alpha\\n'\",\"description\":\"Emit compaction premise marker\"}"}} -{"type":"tool/result","data":{"turn":1,"step":1,"message":{"role":"tool","source":{"kind":"tool","callId":"call_compaction_marker"},"toolCallId":"call_compaction_marker","content":[{"type":"text","text":"alpha\n"}],"isError":false,"id":"{{message:5}}"}},"sourceEventSeqs":[14],"surfaceOp":"append"} -{"type":"step/end","data":{"turn":1,"step":1}} -{"type":"compaction/start","data":{"compactionId":"{{id:1}}","turn":1}} -{"type":"compaction/summary","data":{"compactionId":"{{id:1}}","summary":[{"type":"text","text":"The request established a durable compaction premise."}],"rawOutput":[{"type":"text","text":"The request established a durable compaction premise."}],"llmStreamCall":true,"shadowedRange":{"start":8,"end":9},"shadowedSeqs":[8,9],"shadowedTokenCount":375,"provider":"deepseek-official","model":"deepseek-v4-flash","maxTokens":32,"usage":{"inputTokens":20,"outputTokens":4}}} -{"type":"user/message","data":{"content":[{"type":"text","text":"This is an automatically generated checkpoint condensing an earlier span of the conversation to free up context. Treat the captured context as established background and build on it without restating it. Continue the task directly from the messages that follow, without acknowledging this checkpoint.\n\n"},{"type":"text","text":"The request established a durable compaction premise."},{"type":"text","text":""}],"source":{"kind":"compact-checkpoint","compactionId":"{{id:1}}"},"role":"user","id":"{{message:6}}"},"sourceEventSeqs":[17,18,8,9],"surfaceOp":{"op":"replace","startSeq":8,"endSeq":9}} -{"type":"compaction/end","data":{"compactionId":"{{id:1}}","turn":1}} -{"type":"step/start","data":{"turn":1,"step":2}} -{"type":"request/header","data":{"header":{"config":{"provider":"deepseek-official","model":"deepseek-v4-flash","maxTokens":1000},"adapterDefaults":{"maxTokens":true},"tools":"{{tools}}"},"reason":"series"}} -{"type":"assistant/message","data":{"turn":1,"step":2,"message":{"role":"assistant","content":[{"type":"text","text":"PROACTIVE COMPACTION COMPLETE"}],"source":{"kind":"model","provider":"deepseek-official","model":"deepseek-v4-flash"},"id":"{{message:7}}"},"usage":{"inputTokens":20,"outputTokens":4},"stream":[{"type":"chunk","time":1788699353035,"chunk":{"type":"block-start","index":0,"blockType":"text"}},{"type":"text-chunks","time0":1788699353035,"index":0,"dt":[],"texts":["PROACTIVE COMPACTION COMPLETE"]},{"type":"chunk","time":1788699353035,"chunk":{"type":"block-end","index":0,"block":{"type":"text","text":"PROACTIVE COMPACTION COMPLETE"}}},{"type":"chunk","time":1788699353035,"chunk":{"type":"usage","usage":{"inputTokens":20,"outputTokens":4}}},{"type":"chunk","time":1788699353035,"chunk":{"type":"finish","reason":{"kind":"stop"}}}]},"surfaceOp":"append"} -{"type":"step/end","data":{"turn":1,"step":2}} -{"type":"turn/end","data":{"turn":1,"reason":{"kind":"completed"}}} diff --git a/snapshots/session/compaction-recovery/tool-schemas.expected.json b/snapshots/session/compaction-recovery/tool-schemas.expected.json index f5b6040074..a3a82e074d 100644 --- a/snapshots/session/compaction-recovery/tool-schemas.expected.json +++ b/snapshots/session/compaction-recovery/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -640,7 +640,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -648,7 +648,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -701,7 +701,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -709,7 +709,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -1061,15 +1061,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -1204,7 +1204,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -1212,7 +1212,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/compaction-summary-headroom/cordis.snapshot.yml b/snapshots/session/compaction-summary-headroom/cordis.snapshot.yml index eee1fab19f..ffc0eaa6e1 100644 --- a/snapshots/session/compaction-summary-headroom/cordis.snapshot.yml +++ b/snapshots/session/compaction-summary-headroom/cordis.snapshot.yml @@ -1,5 +1,5 @@ # The summary output cap inherits the 1,800-token headroom. A 1,000-token -# request output reservation lowers the proactive trigger to 7,400 tokens. +# request output reservation lowers the proactive trigger to 7,200 tokens. - id: llm-deepseek name: '@deepseek-ai/dsh-llm-deepseek' @@ -27,5 +27,5 @@ name: DeepSeek models: - id: deepseek-v4-flash - contextWindow: 10200 + contextWindow: 10000 defaultMaxTokens: 1000 diff --git a/snapshots/session/compaction-summary-headroom/cordis.yml b/snapshots/session/compaction-summary-headroom/cordis.yml index 06479960be..62fbf4d646 100644 --- a/snapshots/session/compaction-summary-headroom/cordis.yml +++ b/snapshots/session/compaction-summary-headroom/cordis.yml @@ -4,7 +4,7 @@ config: models: - id: deepseek-v4-flash - contextWindow: 10200 + contextWindow: 10000 maxTokens: 1000 - id: compaction-basic diff --git a/snapshots/session/compaction-summary-headroom/session.v4.jsonl b/snapshots/session/compaction-summary-headroom/session.v4.jsonl deleted file mode 100644 index 7f41a15296..0000000000 --- a/snapshots/session/compaction-summary-headroom/session.v4.jsonl +++ /dev/null @@ -1,27 +0,0 @@ -{"type":"session","version":4,"id":"{{session:1}}","createdAt":0,"cwd":"{{cwd}}","isSeeded":false,"delegationDepth":0} -{"type":"permission/preset","data":{"preset":"danger-full-access"}} -{"type":"sandbox/mode","data":{"mode":"danger-full-access"}} -{"type":"approval/policy","data":{"policy":"never"}} -{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"inserted":[{"content":[{"type":"text","text":"Establish a durable compaction premise before continuing. Record every part of this historical evidence: the snapshot uses keyless replay; persistence uses JSONL; the assembled headless application loads its real Cordis composition; model-visible inputs remain logged; tool calls and results remain paired and ordered; output reservation reduces the message budget before proactive compaction; compaction opens with compaction/start and closes with compaction/end; a successful auxiliary summary records compaction/summary source metadata; the replacement surface shadows only an older balanced range; the checkpoint remains smaller than the history it replaces; the newest tool result remains verbatim; the next request sees that checkpoint; the final response proves the same turn continued; deterministic snapshot evidence stays separate from the live-provider smoke; and no external API key is needed. Emit one alpha marker through bash, then finish the task after proactive compaction with the exact words PROACTIVE COMPACTION COMPLETE."}],"source":{"kind":"user"},"role":"user","id":"{{message:1}}"}]}} -{"type":"turn/start","data":{"turn":1}} -{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"removedCount":1,"inserted":[]}} -{"type":"step/start","data":{"turn":1,"step":1}} -{"type":"system/message","data":{"turn":1,"step":1,"message":{"role":"system","content":[{"type":"text","text":"{{system}}"}],"source":{"kind":"system-prompt"},"id":"{{message:2}}"}},"surfaceOp":"append"} -{"type":"user/message","data":{"content":[{"type":"text","text":"Establish a durable compaction premise before continuing. Record every part of this historical evidence: the snapshot uses keyless replay; persistence uses JSONL; the assembled headless application loads its real Cordis composition; model-visible inputs remain logged; tool calls and results remain paired and ordered; output reservation reduces the message budget before proactive compaction; compaction opens with compaction/start and closes with compaction/end; a successful auxiliary summary records compaction/summary source metadata; the replacement surface shadows only an older balanced range; the checkpoint remains smaller than the history it replaces; the newest tool result remains verbatim; the next request sees that checkpoint; the final response proves the same turn continued; deterministic snapshot evidence stays separate from the live-provider smoke; and no external API key is needed. Emit one alpha marker through bash, then finish the task after proactive compaction with the exact words PROACTIVE COMPACTION COMPLETE."}],"source":{"kind":"user"},"role":"user","id":"{{message:1}}"},"surfaceOp":"append"} -{"type":"user/message","data":{"content":[{"type":"text","text":"Current runtime context. This snapshot supersedes earlier runtime-context snapshots.\n\nCurrent DSH file policy: danger-full-access. The DSH file sandbox does not restrict file modifications by available operations.\n\nApproval prompts are disabled in this session: actions that require approval are rejected automatically — do not request sandbox escalation (do not set `sandbox_permissions`)."}],"source":{"kind":"runtime-context","form":"snapshot","sections":[{"name":"sandbox:policy","text":"Current DSH file policy: danger-full-access. The DSH file sandbox does not restrict file modifications by available operations."},{"name":"approval:policy","text":"Approval prompts are disabled in this session: actions that require approval are rejected automatically — do not request sandbox escalation (do not set `sandbox_permissions`)."}]},"role":"user","id":"{{message:3}}"},"surfaceOp":"append"} -{"type":"request/header","data":{"header":{"config":{"provider":"deepseek-official","model":"deepseek-v4-flash","maxTokens":1000},"adapterDefaults":{"maxTokens":true},"tools":"{{tools}}"},"reason":"initial"}} -{"type":"request/context","data":{"provider":"deepseek-official","model":"deepseek-v4-flash","contextWindow":10200}} -{"type":"session/title","data":{"title":"Establish a durable compaction premise","messageSeqs":[8],"source":{"kind":"fallback"}}} -{"type":"assistant/message","data":{"turn":1,"step":1,"message":{"role":"assistant","content":[{"type":"tool-call","id":"call_compaction_marker","name":"bash","arguments":"{\"command\":\"printf 'alpha\\n'\",\"description\":\"Emit compaction premise marker\"}"}],"source":{"kind":"model","provider":"deepseek-official","model":"deepseek-v4-flash"},"id":"{{message:4}}"},"usage":{"inputTokens":24,"outputTokens":6},"stream":[{"type":"chunk","time":1788699352997,"chunk":{"type":"block-start","index":0,"blockType":"tool-call"}},{"type":"tool-call-chunks","time0":1788699352997,"index":0,"dt":[],"id":"call_compaction_marker","name":"bash","args":["{\"command\":\"printf 'alpha\\n'\",\"description\":\"Emit compaction premise marker\"}"]},{"type":"chunk","time":1788699352998,"chunk":{"type":"block-end","index":0,"block":{"type":"tool-call","id":"call_compaction_marker","name":"bash","arguments":"{\"command\":\"printf 'alpha\\n'\",\"description\":\"Emit compaction premise marker\"}"}}},{"type":"chunk","time":1788699352998,"chunk":{"type":"usage","usage":{"inputTokens":24,"outputTokens":6}}},{"type":"chunk","time":1788699352998,"chunk":{"type":"finish","reason":{"kind":"tool-calls"}}}]},"surfaceOp":"append"} -{"type":"tool/call","data":{"turn":1,"step":1,"callId":"call_compaction_marker","name":"bash","arguments":"{\"command\":\"printf 'alpha\\n'\",\"description\":\"Emit compaction premise marker\"}"}} -{"type":"tool/result","data":{"turn":1,"step":1,"message":{"role":"tool","source":{"kind":"tool","callId":"call_compaction_marker"},"toolCallId":"call_compaction_marker","content":[{"type":"text","text":"alpha\n"}],"isError":false,"id":"{{message:5}}"}},"sourceEventSeqs":[14],"surfaceOp":"append"} -{"type":"step/end","data":{"turn":1,"step":1}} -{"type":"compaction/start","data":{"compactionId":"{{id:1}}","turn":1}} -{"type":"compaction/summary","data":{"compactionId":"{{id:1}}","summary":[{"type":"text","text":"The request established a durable compaction premise."}],"rawOutput":[{"type":"text","text":"The request established a durable compaction premise."}],"llmStreamCall":true,"shadowedRange":{"start":8,"end":9},"shadowedSeqs":[8,9],"shadowedTokenCount":375,"provider":"deepseek-official","model":"deepseek-v4-flash","maxTokens":1800,"usage":{"inputTokens":20,"outputTokens":4}}} -{"type":"user/message","data":{"content":[{"type":"text","text":"This is an automatically generated checkpoint condensing an earlier span of the conversation to free up context. Treat the captured context as established background and build on it without restating it. Continue the task directly from the messages that follow, without acknowledging this checkpoint.\n\n"},{"type":"text","text":"The request established a durable compaction premise."},{"type":"text","text":""}],"source":{"kind":"compact-checkpoint","compactionId":"{{id:1}}"},"role":"user","id":"{{message:6}}"},"sourceEventSeqs":[17,18,8,9],"surfaceOp":{"op":"replace","startSeq":8,"endSeq":9}} -{"type":"compaction/end","data":{"compactionId":"{{id:1}}","turn":1}} -{"type":"step/start","data":{"turn":1,"step":2}} -{"type":"request/header","data":{"header":{"config":{"provider":"deepseek-official","model":"deepseek-v4-flash","maxTokens":1000},"adapterDefaults":{"maxTokens":true},"tools":"{{tools}}"},"reason":"series"}} -{"type":"assistant/message","data":{"turn":1,"step":2,"message":{"role":"assistant","content":[{"type":"text","text":"PROACTIVE COMPACTION COMPLETE"}],"source":{"kind":"model","provider":"deepseek-official","model":"deepseek-v4-flash"},"id":"{{message:7}}"},"usage":{"inputTokens":20,"outputTokens":4},"stream":[{"type":"chunk","time":1788699353035,"chunk":{"type":"block-start","index":0,"blockType":"text"}},{"type":"text-chunks","time0":1788699353035,"index":0,"dt":[],"texts":["PROACTIVE COMPACTION COMPLETE"]},{"type":"chunk","time":1788699353035,"chunk":{"type":"block-end","index":0,"block":{"type":"text","text":"PROACTIVE COMPACTION COMPLETE"}}},{"type":"chunk","time":1788699353035,"chunk":{"type":"usage","usage":{"inputTokens":20,"outputTokens":4}}},{"type":"chunk","time":1788699353035,"chunk":{"type":"finish","reason":{"kind":"stop"}}}]},"surfaceOp":"append"} -{"type":"step/end","data":{"turn":1,"step":2}} -{"type":"turn/end","data":{"turn":1,"reason":{"kind":"completed"}}} diff --git a/snapshots/session/computer-use-cua-driver-mcp/tool-schemas.expected.json b/snapshots/session/computer-use-cua-driver-mcp/tool-schemas.expected.json index 731ba7a512..024361e301 100644 --- a/snapshots/session/computer-use-cua-driver-mcp/tool-schemas.expected.json +++ b/snapshots/session/computer-use-cua-driver-mcp/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -535,15 +535,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -678,7 +678,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -686,7 +686,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/computer-use-cua-driver-native/tool-schemas.expected.json b/snapshots/session/computer-use-cua-driver-native/tool-schemas.expected.json index 6a58a15838..ececc98096 100644 --- a/snapshots/session/computer-use-cua-driver-native/tool-schemas.expected.json +++ b/snapshots/session/computer-use-cua-driver-native/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -135,7 +135,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -143,7 +143,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -495,15 +495,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -638,7 +638,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -646,7 +646,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/cordis-inspect-jsdoc/system-prompt.expected.md b/snapshots/session/cordis-inspect-jsdoc/system-prompt.expected.md index 42bc796fdf..ac4c592e35 100644 --- a/snapshots/session/cordis-inspect-jsdoc/system-prompt.expected.md +++ b/snapshots/session/cordis-inspect-jsdoc/system-prompt.expected.md @@ -60,9 +60,9 @@ interface ToolArgsMap { workdir?: string; /** Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies. */ run_in_background?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access. */ justification?: string; } & Record; /** List every Cordis Inspect Provider currently known to the Host, including local Host Providers and the latest manifests synchronized from the Client. Each entry includes its platform, purpose, read-only methods, and input/output schemas. Call this Tool before writing or configuring a plugin, then select the provider and method for cordis_inspect_query from its result. Do not guess names or treat an Inspect method as a business Service that Plugin code can call. */ @@ -95,9 +95,9 @@ interface ToolArgsMap { new_string: string; /** Replace all matches. Defaults to false; when false, old_string must appear exactly once. */ replace_all?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; /** Use only in plan mode. Present your plan for the user's review and, on approval, leave plan mode. Send the COMPLETE plan as markdown, starting with a # heading that names it. The user may approve (carry out the plan from your next step) or keep planning — their feedback comes back in the tool result; revise and present again. */ @@ -211,11 +211,11 @@ interface ToolArgsMap { revision: number; /** edit | pause | resume | complete | blocked */ action: "edit" | "pause" | "resume" | "complete" | "blocked"; - /** Replacement objective for action edit; ignored otherwise. */ + /** Replacement objective; valid only with action edit. */ objective?: string; - /** Replacement cap for action edit; ignored otherwise. */ + /** Replacement cap; valid only with action edit. */ max_goal_rounds?: number; - /** Concrete blocking condition required for action blocked; ignored otherwise. */ + /** Concrete blocking condition; required only with action blocked. */ blocked_reason?: string; } & Record; /** Fetch the content of a specific HTTP(S) URL and return it decoded to text. */ @@ -261,9 +261,9 @@ interface ToolArgsMap { file_path: string; /** Full UTF-8 text content to write. */ content: string; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; } diff --git a/snapshots/session/cordis-inspect-jsdoc/tool-schemas.expected.json b/snapshots/session/cordis-inspect-jsdoc/tool-schemas.expected.json index c17a1ceb5a..532e048e81 100644 --- a/snapshots/session/cordis-inspect-jsdoc/tool-schemas.expected.json +++ b/snapshots/session/cordis-inspect-jsdoc/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -130,7 +130,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -138,7 +138,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -527,15 +527,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -670,7 +670,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -678,7 +678,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/deepseek-messages-system-prompt/tool-schemas.expected.json b/snapshots/session/deepseek-messages-system-prompt/tool-schemas.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/session/deepseek-messages-system-prompt/tool-schemas.expected.json +++ b/snapshots/session/deepseek-messages-system-prompt/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/deepseek-protocol-system-prompt/tool-schemas.expected.json b/snapshots/session/deepseek-protocol-system-prompt/tool-schemas.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/session/deepseek-protocol-system-prompt/tool-schemas.expected.json +++ b/snapshots/session/deepseek-protocol-system-prompt/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/foreground-confinement-timeout/tool-schemas.expected.json b/snapshots/session/foreground-confinement-timeout/tool-schemas.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/session/foreground-confinement-timeout/tool-schemas.expected.json +++ b/snapshots/session/foreground-confinement-timeout/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/fs-glob-sampling/tool-schemas.expected.json b/snapshots/session/fs-glob-sampling/tool-schemas.expected.json index 8c4f4d9763..1106ebbe40 100644 --- a/snapshots/session/fs-glob-sampling/tool-schemas.expected.json +++ b/snapshots/session/fs-glob-sampling/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -69,7 +69,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -77,7 +77,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -451,7 +451,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -459,7 +459,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/lsp-definition/tool-schemas.expected.json b/snapshots/session/lsp-definition/tool-schemas.expected.json index 0376c5d875..da96eef30a 100644 --- a/snapshots/session/lsp-definition/tool-schemas.expected.json +++ b/snapshots/session/lsp-definition/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -486,15 +486,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -629,7 +629,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -637,7 +637,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/mcp-resources-ptc/system-prompt.expected.md b/snapshots/session/mcp-resources-ptc/system-prompt.expected.md index 8d4bbf0294..edb6c751b8 100644 --- a/snapshots/session/mcp-resources-ptc/system-prompt.expected.md +++ b/snapshots/session/mcp-resources-ptc/system-prompt.expected.md @@ -70,9 +70,9 @@ interface ToolArgsMap { workdir?: string; /** Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies. */ run_in_background?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access. */ justification?: string; } & Record; /** Create one persisted same-session completion goal when the current direct human request is a long-running objective that should continue across autonomous goal rounds. You may infer that intent without requiring the user to say "create a goal". Do not use this for trivial single-turn work. Execution rejects non-human and subagent authority. */ @@ -92,9 +92,9 @@ interface ToolArgsMap { new_string: string; /** Replace all matches. Defaults to false; when false, old_string must appear exactly once. */ replace_all?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; /** Use only in plan mode. Present your plan for the user's review and, on approval, leave plan mode. Send the COMPLETE plan as markdown, starting with a # heading that names it. The user may approve (carry out the plan from your next step) or keep planning — their feedback comes back in the tool result; revise and present again. */ @@ -229,11 +229,11 @@ interface ToolArgsMap { revision: number; /** edit | pause | resume | complete | blocked */ action: "edit" | "pause" | "resume" | "complete" | "blocked"; - /** Replacement objective for action edit; ignored otherwise. */ + /** Replacement objective; valid only with action edit. */ objective?: string; - /** Replacement cap for action edit; ignored otherwise. */ + /** Replacement cap; valid only with action edit. */ max_goal_rounds?: number; - /** Concrete blocking condition required for action blocked; ignored otherwise. */ + /** Concrete blocking condition; required only with action blocked. */ blocked_reason?: string; } & Record; /** Fetch the content of a specific HTTP(S) URL and return it decoded to text. */ @@ -279,9 +279,9 @@ interface ToolArgsMap { file_path: string; /** Full UTF-8 text content to write. */ content: string; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; } diff --git a/snapshots/session/mcp-resources/tool-schemas.expected.json b/snapshots/session/mcp-resources/tool-schemas.expected.json index fed7ead7a8..d6dea164c9 100644 --- a/snapshots/session/mcp-resources/tool-schemas.expected.json +++ b/snapshots/session/mcp-resources/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -510,15 +510,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -653,7 +653,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -661,7 +661,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/persistent-pwsh-tool-turn/tool-schemas.expected.json b/snapshots/session/persistent-pwsh-tool-turn/tool-schemas.expected.json index a243d5e081..863f729ecd 100644 --- a/snapshots/session/persistent-pwsh-tool-turn/tool-schemas.expected.json +++ b/snapshots/session/persistent-pwsh-tool-turn/tool-schemas.expected.json @@ -24,7 +24,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -32,7 +32,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -422,7 +422,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -430,7 +430,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/plugin-manager-mcp/tool-schemas.expected.json b/snapshots/session/plugin-manager-mcp/tool-schemas.expected.json index d48718c647..07f01589c0 100644 --- a/snapshots/session/plugin-manager-mcp/tool-schemas.expected.json +++ b/snapshots/session/plugin-manager-mcp/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -500,15 +500,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -643,7 +643,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -651,7 +651,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -691,7 +691,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -699,7 +699,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -752,7 +752,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -760,7 +760,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -1233,15 +1233,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -1376,7 +1376,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -1384,7 +1384,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/plugin-manager/tool-schemas.expected.json b/snapshots/session/plugin-manager/tool-schemas.expected.json index efad53afd2..2a18354c6f 100644 --- a/snapshots/session/plugin-manager/tool-schemas.expected.json +++ b/snapshots/session/plugin-manager/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -500,15 +500,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -643,7 +643,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -651,7 +651,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/product-subagent-both/tool-schemas.expected.json b/snapshots/session/product-subagent-both/tool-schemas.expected.json index 0174572b47..a0ec94f072 100644 --- a/snapshots/session/product-subagent-both/tool-schemas.expected.json +++ b/snapshots/session/product-subagent-both/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -549,15 +549,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -692,7 +692,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -700,7 +700,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/product-subagent-codex/tool-schemas.expected.json b/snapshots/session/product-subagent-codex/tool-schemas.expected.json index 4fbf40b1e1..fa96127988 100644 --- a/snapshots/session/product-subagent-codex/tool-schemas.expected.json +++ b/snapshots/session/product-subagent-codex/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -499,15 +499,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -642,7 +642,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -650,7 +650,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/product-subagent-result-diagnostic/tool-schemas.expected.json b/snapshots/session/product-subagent-result-diagnostic/tool-schemas.expected.json index decb5d0667..af722e03b0 100644 --- a/snapshots/session/product-subagent-result-diagnostic/tool-schemas.expected.json +++ b/snapshots/session/product-subagent-result-diagnostic/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -474,15 +474,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -617,7 +617,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -625,7 +625,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/provider-cwd/tool-schemas.expected.json b/snapshots/session/provider-cwd/tool-schemas.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/session/provider-cwd/tool-schemas.expected.json +++ b/snapshots/session/provider-cwd/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/ptc-node-read-only/system-prompt.expected.md b/snapshots/session/ptc-node-read-only/system-prompt.expected.md index 82382e60f9..ff41826d84 100644 --- a/snapshots/session/ptc-node-read-only/system-prompt.expected.md +++ b/snapshots/session/ptc-node-read-only/system-prompt.expected.md @@ -62,9 +62,9 @@ interface ToolArgsMap { workdir?: string; /** Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies. */ run_in_background?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access. */ justification?: string; } & Record; /** Create one persisted same-session completion goal when the current direct human request is a long-running objective that should continue across autonomous goal rounds. You may infer that intent without requiring the user to say "create a goal". Do not use this for trivial single-turn work. Execution rejects non-human and subagent authority. */ @@ -84,9 +84,9 @@ interface ToolArgsMap { new_string: string; /** Replace all matches. Defaults to false; when false, old_string must appear exactly once. */ replace_all?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; /** Use only in plan mode. Present your plan for the user's review and, on approval, leave plan mode. Send the COMPLETE plan as markdown, starting with a # heading that names it. The user may approve (carry out the plan from your next step) or keep planning — their feedback comes back in the tool result; revise and present again. */ @@ -204,11 +204,11 @@ interface ToolArgsMap { revision: number; /** edit | pause | resume | complete | blocked */ action: "edit" | "pause" | "resume" | "complete" | "blocked"; - /** Replacement objective for action edit; ignored otherwise. */ + /** Replacement objective; valid only with action edit. */ objective?: string; - /** Replacement cap for action edit; ignored otherwise. */ + /** Replacement cap; valid only with action edit. */ max_goal_rounds?: number; - /** Concrete blocking condition required for action blocked; ignored otherwise. */ + /** Concrete blocking condition; required only with action blocked. */ blocked_reason?: string; } & Record; /** Fetch the content of a specific HTTP(S) URL and return it decoded to text. */ @@ -254,9 +254,9 @@ interface ToolArgsMap { file_path: string; /** Full UTF-8 text content to write. */ content: string; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; } diff --git a/snapshots/session/ptc-node-workspace/system-prompt.expected.md b/snapshots/session/ptc-node-workspace/system-prompt.expected.md index 82382e60f9..ff41826d84 100644 --- a/snapshots/session/ptc-node-workspace/system-prompt.expected.md +++ b/snapshots/session/ptc-node-workspace/system-prompt.expected.md @@ -62,9 +62,9 @@ interface ToolArgsMap { workdir?: string; /** Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies. */ run_in_background?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access. */ justification?: string; } & Record; /** Create one persisted same-session completion goal when the current direct human request is a long-running objective that should continue across autonomous goal rounds. You may infer that intent without requiring the user to say "create a goal". Do not use this for trivial single-turn work. Execution rejects non-human and subagent authority. */ @@ -84,9 +84,9 @@ interface ToolArgsMap { new_string: string; /** Replace all matches. Defaults to false; when false, old_string must appear exactly once. */ replace_all?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; /** Use only in plan mode. Present your plan for the user's review and, on approval, leave plan mode. Send the COMPLETE plan as markdown, starting with a # heading that names it. The user may approve (carry out the plan from your next step) or keep planning — their feedback comes back in the tool result; revise and present again. */ @@ -204,11 +204,11 @@ interface ToolArgsMap { revision: number; /** edit | pause | resume | complete | blocked */ action: "edit" | "pause" | "resume" | "complete" | "blocked"; - /** Replacement objective for action edit; ignored otherwise. */ + /** Replacement objective; valid only with action edit. */ objective?: string; - /** Replacement cap for action edit; ignored otherwise. */ + /** Replacement cap; valid only with action edit. */ max_goal_rounds?: number; - /** Concrete blocking condition required for action blocked; ignored otherwise. */ + /** Concrete blocking condition; required only with action blocked. */ blocked_reason?: string; } & Record; /** Fetch the content of a specific HTTP(S) URL and return it decoded to text. */ @@ -254,9 +254,9 @@ interface ToolArgsMap { file_path: string; /** Full UTF-8 text content to write. */ content: string; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; } diff --git a/snapshots/session/ptc-python-turn/system-prompt.expected.md b/snapshots/session/ptc-python-turn/system-prompt.expected.md index a44003cf08..b7dfe3bf47 100644 --- a/snapshots/session/ptc-python-turn/system-prompt.expected.md +++ b/snapshots/session/ptc-python-turn/system-prompt.expected.md @@ -57,9 +57,9 @@ class BashArgs(TypedDict): workdir: NotRequired[str] # Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies. run_in_background: NotRequired[bool] - # Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval. + # The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval. sandbox_permissions: NotRequired[Literal["workspace-write", "danger-full-access"]] - # Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. + # Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access. justification: NotRequired[str] # Additional keys beyond those declared are allowed. @@ -130,9 +130,9 @@ class EditArgs(TypedDict): new_string: str # Replace all matches. Defaults to false; when false, old_string must appear exactly once. replace_all: NotRequired[bool] - # Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. + # The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. sandbox_permissions: NotRequired[Literal["workspace-write", "danger-full-access"]] - # Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. + # Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. justification: NotRequired[str] # Additional keys beyond those declared are allowed. @@ -423,11 +423,11 @@ class UpdateGoalArgs(TypedDict): revision: float # edit | pause | resume | complete | blocked action: Literal["edit", "pause", "resume", "complete", "blocked"] - # Replacement objective for action edit; ignored otherwise. + # Replacement objective; valid only with action edit. objective: NotRequired[str] - # Replacement cap for action edit; ignored otherwise. + # Replacement cap; valid only with action edit. max_goal_rounds: NotRequired[float] - # Concrete blocking condition required for action blocked; ignored otherwise. + # Concrete blocking condition; required only with action blocked. blocked_reason: NotRequired[str] # Additional keys beyond those declared are allowed. @@ -491,9 +491,9 @@ class WriteArgs(TypedDict): file_path: str # Full UTF-8 text content to write. content: str - # Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. + # The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. sandbox_permissions: NotRequired[Literal["workspace-write", "danger-full-access"]] - # Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. + # Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. justification: NotRequired[str] # Additional keys beyond those declared are allowed. diff --git a/snapshots/session/ptc-read-image/system-prompt.expected.md b/snapshots/session/ptc-read-image/system-prompt.expected.md index cce4944cd0..fd956219e6 100644 --- a/snapshots/session/ptc-read-image/system-prompt.expected.md +++ b/snapshots/session/ptc-read-image/system-prompt.expected.md @@ -62,9 +62,9 @@ interface ToolArgsMap { workdir?: string; /** Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies. */ run_in_background?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access. */ justification?: string; } & Record; /** Create one persisted same-session completion goal when the current direct human request is a long-running objective that should continue across autonomous goal rounds. You may infer that intent without requiring the user to say "create a goal". Do not use this for trivial single-turn work. Execution rejects non-human and subagent authority. */ @@ -84,9 +84,9 @@ interface ToolArgsMap { new_string: string; /** Replace all matches. Defaults to false; when false, old_string must appear exactly once. */ replace_all?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; /** Use only in plan mode. Present your plan for the user's review and, on approval, leave plan mode. Send the COMPLETE plan as markdown, starting with a # heading that names it. The user may approve (carry out the plan from your next step) or keep planning — their feedback comes back in the tool result; revise and present again. */ @@ -200,11 +200,11 @@ interface ToolArgsMap { revision: number; /** edit | pause | resume | complete | blocked */ action: "edit" | "pause" | "resume" | "complete" | "blocked"; - /** Replacement objective for action edit; ignored otherwise. */ + /** Replacement objective; valid only with action edit. */ objective?: string; - /** Replacement cap for action edit; ignored otherwise. */ + /** Replacement cap; valid only with action edit. */ max_goal_rounds?: number; - /** Concrete blocking condition required for action blocked; ignored otherwise. */ + /** Concrete blocking condition; required only with action blocked. */ blocked_reason?: string; } & Record; /** Fetch the content of a specific HTTP(S) URL and return it decoded to text. */ @@ -250,9 +250,9 @@ interface ToolArgsMap { file_path: string; /** Full UTF-8 text content to write. */ content: string; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; } diff --git a/snapshots/session/ptc-turn/system-prompt.expected.md b/snapshots/session/ptc-turn/system-prompt.expected.md index 82382e60f9..ff41826d84 100644 --- a/snapshots/session/ptc-turn/system-prompt.expected.md +++ b/snapshots/session/ptc-turn/system-prompt.expected.md @@ -62,9 +62,9 @@ interface ToolArgsMap { workdir?: string; /** Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies. */ run_in_background?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access. */ justification?: string; } & Record; /** Create one persisted same-session completion goal when the current direct human request is a long-running objective that should continue across autonomous goal rounds. You may infer that intent without requiring the user to say "create a goal". Do not use this for trivial single-turn work. Execution rejects non-human and subagent authority. */ @@ -84,9 +84,9 @@ interface ToolArgsMap { new_string: string; /** Replace all matches. Defaults to false; when false, old_string must appear exactly once. */ replace_all?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; /** Use only in plan mode. Present your plan for the user's review and, on approval, leave plan mode. Send the COMPLETE plan as markdown, starting with a # heading that names it. The user may approve (carry out the plan from your next step) or keep planning — their feedback comes back in the tool result; revise and present again. */ @@ -204,11 +204,11 @@ interface ToolArgsMap { revision: number; /** edit | pause | resume | complete | blocked */ action: "edit" | "pause" | "resume" | "complete" | "blocked"; - /** Replacement objective for action edit; ignored otherwise. */ + /** Replacement objective; valid only with action edit. */ objective?: string; - /** Replacement cap for action edit; ignored otherwise. */ + /** Replacement cap; valid only with action edit. */ max_goal_rounds?: number; - /** Concrete blocking condition required for action blocked; ignored otherwise. */ + /** Concrete blocking condition; required only with action blocked. */ blocked_reason?: string; } & Record; /** Fetch the content of a specific HTTP(S) URL and return it decoded to text. */ @@ -254,9 +254,9 @@ interface ToolArgsMap { file_path: string; /** Full UTF-8 text content to write. */ content: string; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; } diff --git a/snapshots/session/pty-tools-sandbox-backend/tool-schemas.expected.json b/snapshots/session/pty-tools-sandbox-backend/tool-schemas.expected.json index 3fb4e09919..4471c7a371 100644 --- a/snapshots/session/pty-tools-sandbox-backend/tool-schemas.expected.json +++ b/snapshots/session/pty-tools-sandbox-backend/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -578,15 +578,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -721,7 +721,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -729,7 +729,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/pwsh-tool-turn/tool-schemas.expected.json b/snapshots/session/pwsh-tool-turn/tool-schemas.expected.json index 07e283e495..5002d370b8 100644 --- a/snapshots/session/pwsh-tool-turn/tool-schemas.expected.json +++ b/snapshots/session/pwsh-tool-turn/tool-schemas.expected.json @@ -24,7 +24,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -32,7 +32,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -503,7 +503,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -511,7 +511,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/ralph-loop/tool-schemas.1.expected.json b/snapshots/session/ralph-loop/tool-schemas.1.expected.json index 1ccff64d01..2118a8e4b0 100644 --- a/snapshots/session/ralph-loop/tool-schemas.1.expected.json +++ b/snapshots/session/ralph-loop/tool-schemas.1.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -512,15 +512,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -655,7 +655,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -663,7 +663,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/ralph-loop/tool-schemas.2.expected.json b/snapshots/session/ralph-loop/tool-schemas.2.expected.json index 1ccff64d01..2118a8e4b0 100644 --- a/snapshots/session/ralph-loop/tool-schemas.2.expected.json +++ b/snapshots/session/ralph-loop/tool-schemas.2.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -512,15 +512,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -655,7 +655,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -663,7 +663,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/ralph-loop/tool-schemas.expected.json b/snapshots/session/ralph-loop/tool-schemas.expected.json index b76c5d9998..57eaf5feaa 100644 --- a/snapshots/session/ralph-loop/tool-schemas.expected.json +++ b/snapshots/session/ralph-loop/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -469,15 +469,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -612,7 +612,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -620,7 +620,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/session-query-spill/session.v4.jsonl b/snapshots/session/session-query-spill/session.v4.jsonl deleted file mode 100644 index 04b875ac92..0000000000 --- a/snapshots/session/session-query-spill/session.v4.jsonl +++ /dev/null @@ -1,27 +0,0 @@ -{"type":"session","version":4,"id":"{{session:1}}","createdAt":0,"cwd":"{{cwd}}","isSeeded":false,"delegationDepth":0} -{"type":"permission/preset","data":{"preset":"danger-full-access"}} -{"type":"sandbox/mode","data":{"mode":"danger-full-access"}} -{"type":"approval/policy","data":{"policy":"never"}} -{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"inserted":[{"content":[{"type":"text","text":"Read request event 11 with session_event_read, verify the complete spill was retained, then reply DONE."}],"source":{"kind":"user"},"role":"user","id":"{{message:1}}"}]}} -{"type":"turn/start","data":{"turn":1}} -{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"removedCount":1,"inserted":[]}} -{"type":"step/start","data":{"turn":1,"step":1}} -{"type":"system/message","data":{"turn":1,"step":1,"message":{"role":"system","content":[{"type":"text","text":"{{system}}"}],"source":{"kind":"system-prompt"},"id":"{{message:2}}"}},"surfaceOp":"append"} -{"type":"user/message","data":{"content":[{"type":"text","text":"Read request event 11 with session_event_read, verify the complete spill was retained, then reply DONE."}],"source":{"kind":"user"},"role":"user","id":"{{message:1}}"},"surfaceOp":"append"} -{"type":"user/message","data":{"content":[{"type":"text","text":"Current runtime context. This snapshot supersedes earlier runtime-context snapshots.\n\nCurrent DSH file policy: danger-full-access. The DSH file sandbox does not restrict file modifications by available operations.\n\nApproval prompts are disabled in this session: actions that require approval are rejected automatically — do not request sandbox escalation (do not set `sandbox_permissions`)."}],"source":{"kind":"runtime-context","form":"snapshot","sections":[{"name":"sandbox:policy","text":"Current DSH file policy: danger-full-access. The DSH file sandbox does not restrict file modifications by available operations."},{"name":"approval:policy","text":"Approval prompts are disabled in this session: actions that require approval are rejected automatically — do not request sandbox escalation (do not set `sandbox_permissions`)."}]},"role":"user","id":"{{message:3}}"},"surfaceOp":"append"} -{"type":"request/header","data":{"header":{"config":{"provider":"deepseek-official","model":"deepseek-v4-flash"},"tools":"{{tools}}"},"reason":"initial"}} -{"type":"request/context","data":{"provider":"deepseek-official","model":"deepseek-v4-flash"}} -{"type":"session/title","data":{"title":"Read request event 11 with","messageSeqs":[8],"source":{"kind":"fallback"}}} -{"type":"assistant/message","data":{"turn":1,"step":1,"message":{"role":"assistant","content":[{"type":"tool-call","id":"call_session_query_spill","name":"session_event_read","arguments":"{\"seq\":10}"}],"source":{"kind":"model","provider":"deepseek-official","model":"deepseek-v4-flash"},"id":"{{message:4}}"},"usage":{"inputTokens":10,"outputTokens":5},"stream":[{"type":"chunk","time":1788699423495,"chunk":{"type":"block-start","index":0,"blockType":"tool-call"}},{"type":"tool-call-chunks","time0":1788699423496,"index":0,"dt":[],"id":"call_session_query_spill","name":"session_event_read","args":["{\"seq\":10}"]},{"type":"chunk","time":1788699423496,"chunk":{"type":"block-end","index":0,"block":{"type":"tool-call","id":"call_session_query_spill","name":"session_event_read","arguments":"{\"seq\":10}"}}},{"type":"chunk","time":1788699423496,"chunk":{"type":"usage","usage":{"inputTokens":10,"outputTokens":5}}},{"type":"chunk","time":1788699423496,"chunk":{"type":"finish","reason":{"kind":"tool-calls"}}}]},"surfaceOp":"append"} -{"type":"tool/call","data":{"turn":1,"step":1,"callId":"call_session_query_spill","name":"session_event_read","arguments":"{\"seq\":10}"}} -{"type":"tool/result","data":{"turn":1,"step":1,"message":{"role":"tool","source":{"kind":"tool","callId":"call_session_query_spill"},"toolCallId":"call_session_query_spill","content":[{"type":"text","text":"Session {{session:1}} — Read request event 11 with\nTarget event seq 10:\n```json\n{\n \"type\": \"request/header\",\n \"seq\": 10,\n \"time\": 1789978101299,\n \"data\": {\n \"header\": {\n \"config\": {\n \"provider\": \"deepseek-official\",\n \"model\": \"deepseek-ermissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions.\"\n }\n },\n \"required\": [\n \"file_path\",\n \"content\"\n ]\n }\n }\n ]\n },\n \"reason\": \"initial\"\n }\n}\n```\n\n(Omitted 40652 bytes. Full formatted result stored at: /tmp/dsh-acp-snap-035d1d054/session-50830de2ce22/dca7b66e737f-session_event_read.txt. Use read with offset/limit, or grep this path to search within it.)"}],"isError":false,"id":"{{message:5}}"}},"sourceEventSeqs":[14],"surfaceOp":"append"} -{"type":"step/end","data":{"turn":1,"step":1}} -{"type":"step/start","data":{"turn":1,"step":2}} -{"type":"assistant/message","data":{"turn":1,"step":2,"message":{"role":"assistant","content":[{"type":"tool-call","id":"call_verify_session_query_spill","name":"bash","arguments":"{\"command\":\"file=\\\"/tmp/dsh-acp-snap-035d1d054/session-50830de2ce22/dca7b66e737f-session_event_read.txt\\\"; grep -Fq request/header \\\"$file\\\" && grep -Fq session_event_search \\\"$file\\\" && printf 'SPILL_CANONICAL_OK\\\\n'\",\"description\":\"Verify complete session query spill\"}"}],"source":{"kind":"model","provider":"deepseek-official","model":"deepseek-v4-flash"},"id":"{{message:6}}"},"usage":{"inputTokens":10,"outputTokens":5},"stream":[{"type":"chunk","time":1788699423521,"chunk":{"type":"block-start","index":0,"blockType":"tool-call"}},{"type":"tool-call-chunks","time0":1788699423521,"index":0,"dt":[],"id":"call_verify_session_query_spill","name":"bash","args":["{\"command\":\"file=\\\"/tmp/dsh-acp-snap-035d1d054/session-50830de2ce22/dca7b66e737f-session_event_read.txt\\\"; grep -Fq request/header \\\"$file\\\" && grep -Fq session_event_search \\\"$file\\\" && printf 'SPILL_CANONICAL_OK\\\\n'\",\"description\":\"Verify complete session query spill\"}"]},{"type":"chunk","time":1788699423521,"chunk":{"type":"block-end","index":0,"block":{"type":"tool-call","id":"call_verify_session_query_spill","name":"bash","arguments":"{\"command\":\"file=\\\"/tmp/dsh-acp-snap-035d1d054/session-50830de2ce22/dca7b66e737f-session_event_read.txt\\\"; grep -Fq request/header \\\"$file\\\" && grep -Fq session_event_search \\\"$file\\\" && printf 'SPILL_CANONICAL_OK\\\\n'\",\"description\":\"Verify complete session query spill\"}"}}},{"type":"chunk","time":1788699423521,"chunk":{"type":"usage","usage":{"inputTokens":10,"outputTokens":5}}},{"type":"chunk","time":1788699423521,"chunk":{"type":"finish","reason":{"kind":"tool-calls"}}}]},"surfaceOp":"append"} -{"type":"tool/call","data":{"turn":1,"step":2,"callId":"call_verify_session_query_spill","name":"bash","arguments":"{\"command\":\"file=\\\"/tmp/dsh-acp-snap-035d1d054/session-50830de2ce22/dca7b66e737f-session_event_read.txt\\\"; grep -Fq request/header \\\"$file\\\" && grep -Fq session_event_search \\\"$file\\\" && printf 'SPILL_CANONICAL_OK\\\\n'\",\"description\":\"Verify complete session query spill\"}"}} -{"type":"tool/result","data":{"turn":1,"step":2,"message":{"role":"tool","source":{"kind":"tool","callId":"call_verify_session_query_spill"},"toolCallId":"call_verify_session_query_spill","content":[{"type":"text","text":"SPILL_CANONICAL_OK\n"}],"isError":false,"id":"{{message:7}}"}},"sourceEventSeqs":[19],"surfaceOp":"append"} -{"type":"step/end","data":{"turn":1,"step":2}} -{"type":"step/start","data":{"turn":1,"step":3}} -{"type":"assistant/message","data":{"turn":1,"step":3,"message":{"role":"assistant","content":[{"type":"text","text":"DONE"}],"source":{"kind":"model","provider":"deepseek-official","model":"deepseek-v4-flash"},"id":"{{message:8}}"},"usage":{"inputTokens":10,"outputTokens":2},"stream":[{"type":"chunk","time":1788699423552,"chunk":{"type":"block-start","index":0,"blockType":"text"}},{"type":"text-chunks","time0":1788699423552,"index":0,"dt":[],"texts":["DONE"]},{"type":"chunk","time":1788699423552,"chunk":{"type":"block-end","index":0,"block":{"type":"text","text":"DONE"}}},{"type":"chunk","time":1788699423552,"chunk":{"type":"usage","usage":{"inputTokens":10,"outputTokens":2}}},{"type":"chunk","time":1788699423552,"chunk":{"type":"finish","reason":{"kind":"stop"}}}]},"surfaceOp":"append"} -{"type":"step/end","data":{"turn":1,"step":3}} -{"type":"turn/end","data":{"turn":1,"reason":{"kind":"completed"}}} diff --git a/snapshots/session/session-query-spill/tool-schemas.expected.json b/snapshots/session/session-query-spill/tool-schemas.expected.json index 70cd979900..5c635ee9a1 100644 --- a/snapshots/session/session-query-spill/tool-schemas.expected.json +++ b/snapshots/session/session-query-spill/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -653,15 +653,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -796,7 +796,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -804,7 +804,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/subagent-acp-diagnostic/tool-schemas.expected.json b/snapshots/session/subagent-acp-diagnostic/tool-schemas.expected.json index adba1f8db2..2c08e64dc9 100644 --- a/snapshots/session/subagent-acp-diagnostic/tool-schemas.expected.json +++ b/snapshots/session/subagent-acp-diagnostic/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -474,15 +474,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -617,7 +617,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -625,7 +625,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/subagent-child-question-rejection/tool-schemas.expected.json b/snapshots/session/subagent-child-question-rejection/tool-schemas.expected.json index 5050a8e6c1..50b44889ea 100644 --- a/snapshots/session/subagent-child-question-rejection/tool-schemas.expected.json +++ b/snapshots/session/subagent-child-question-rejection/tool-schemas.expected.json @@ -91,7 +91,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -99,7 +99,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -152,7 +152,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -160,7 +160,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -512,15 +512,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -655,7 +655,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -663,7 +663,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/subagent-tool-filter/tool-schemas.1.expected.json b/snapshots/session/subagent-tool-filter/tool-schemas.1.expected.json index 6de9d9a7eb..1776b0e3ac 100644 --- a/snapshots/session/subagent-tool-filter/tool-schemas.1.expected.json +++ b/snapshots/session/subagent-tool-filter/tool-schemas.1.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -363,15 +363,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ diff --git a/snapshots/session/system-prompt-in-history/tool-schemas.expected.json b/snapshots/session/system-prompt-in-history/tool-schemas.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/session/system-prompt-in-history/tool-schemas.expected.json +++ b/snapshots/session/system-prompt-in-history/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/team-targets/tool-schemas.expected.json b/snapshots/session/team-targets/tool-schemas.expected.json index e3de55bfdb..0a04365754 100644 --- a/snapshots/session/team-targets/tool-schemas.expected.json +++ b/snapshots/session/team-targets/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -575,15 +575,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -731,7 +731,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -739,7 +739,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/text-turn/tool-schemas.expected.json b/snapshots/session/text-turn/tool-schemas.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/session/text-turn/tool-schemas.expected.json +++ b/snapshots/session/text-turn/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/web-fetch/tool-schemas.expected.json b/snapshots/session/web-fetch/tool-schemas.expected.json index a4a1d2fca1..cccf295aa2 100644 --- a/snapshots/session/web-fetch/tool-schemas.expected.json +++ b/snapshots/session/web-fetch/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -573,7 +573,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -581,7 +581,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/workflow-confinement/tool-schemas.expected.json b/snapshots/session/workflow-confinement/tool-schemas.expected.json index c3b5317aab..f1421e3b5d 100644 --- a/snapshots/session/workflow-confinement/tool-schemas.expected.json +++ b/snapshots/session/workflow-confinement/tool-schemas.expected.json @@ -28,7 +28,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -36,7 +36,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -89,7 +89,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -97,7 +97,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -449,15 +449,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -592,7 +592,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -600,7 +600,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/session/workspace-dependencies/tool-schemas.expected.json b/snapshots/session/workspace-dependencies/tool-schemas.expected.json index 21884893da..3906d70183 100644 --- a/snapshots/session/workspace-dependencies/tool-schemas.expected.json +++ b/snapshots/session/workspace-dependencies/tool-schemas.expected.json @@ -44,7 +44,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -52,7 +52,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -412,15 +412,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -555,7 +555,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -563,7 +563,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/web/cordis-tool-round/tool-schemas.expected.json b/snapshots/web/cordis-tool-round/tool-schemas.expected.json index b00a87b3c8..bb6f987d5a 100644 --- a/snapshots/web/cordis-tool-round/tool-schemas.expected.json +++ b/snapshots/web/cordis-tool-round/tool-schemas.expected.json @@ -91,7 +91,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -99,7 +99,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -349,7 +349,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -357,7 +357,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -745,15 +745,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -888,7 +888,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -896,7 +896,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/web/fresh-round-trip/tool-schemas.expected.json b/snapshots/web/fresh-round-trip/tool-schemas.expected.json index 5085a3c000..48bb6c3607 100644 --- a/snapshots/web/fresh-round-trip/tool-schemas.expected.json +++ b/snapshots/web/fresh-round-trip/tool-schemas.expected.json @@ -91,7 +91,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -99,7 +99,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -152,7 +152,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -160,7 +160,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -548,15 +548,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -691,7 +691,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -699,7 +699,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ diff --git a/snapshots/web/ptc-round/system-prompt.expected.md b/snapshots/web/ptc-round/system-prompt.expected.md index b352dc82e1..107c581adc 100644 --- a/snapshots/web/ptc-round/system-prompt.expected.md +++ b/snapshots/web/ptc-round/system-prompt.expected.md @@ -82,9 +82,9 @@ interface ToolArgsMap { workdir?: string; /** Run in the background and return a job id immediately (collect with job_output, stop with job_kill). No timeout applies. */ run_in_background?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access. */ justification?: string; } & Record; /** Create one persisted same-session completion goal when the current direct human request is a long-running objective that should continue across autonomous goal rounds. You may infer that intent without requiring the user to say "create a goal". Do not use this for trivial single-turn work. Execution rejects non-human and subagent authority. */ @@ -104,9 +104,9 @@ interface ToolArgsMap { new_string: string; /** Replace all matches. Defaults to false; when false, old_string must appear exactly once. */ replace_all?: boolean; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; /** Use only in plan mode. Present your plan for the user's review and, on approval, leave plan mode. Send the COMPLETE plan as markdown, starting with a # heading that names it. The user may approve (carry out the plan from your next step) or keep planning — their feedback comes back in the tool result; revise and present again. */ @@ -231,11 +231,11 @@ interface ToolArgsMap { revision: number; /** edit | pause | resume | complete | blocked */ action: "edit" | "pause" | "resume" | "complete" | "blocked"; - /** Replacement objective for action edit; ignored otherwise. */ + /** Replacement objective; valid only with action edit. */ objective?: string; - /** Replacement cap for action edit; ignored otherwise. */ + /** Replacement cap; valid only with action edit. */ max_goal_rounds?: number; - /** Concrete blocking condition required for action blocked; ignored otherwise. */ + /** Concrete blocking condition; required only with action blocked. */ blocked_reason?: string; } & Record; /** Fetch the content of a specific HTTP(S) URL and return it decoded to text. */ @@ -254,9 +254,9 @@ interface ToolArgsMap { file_path: string; /** Full UTF-8 text content to write. */ content: string; - /** Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval. */ + /** The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval. */ sandbox_permissions?: "workspace-write" | "danger-full-access"; - /** Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions. */ + /** Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access. */ justification?: string; } & Record; } diff --git a/snapshots/web/schedule-catalog/tool-schemas.expected.json b/snapshots/web/schedule-catalog/tool-schemas.expected.json index 2b538cf770..4fc9dab8fd 100644 --- a/snapshots/web/schedule-catalog/tool-schemas.expected.json +++ b/snapshots/web/schedule-catalog/tool-schemas.expected.json @@ -91,7 +91,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact command was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -99,7 +99,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access." } }, "required": [ @@ -152,7 +152,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -160,7 +160,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [ @@ -592,15 +592,15 @@ }, "objective": { "type": "string", - "description": "Replacement objective for action edit; ignored otherwise." + "description": "Replacement objective; valid only with action edit." }, "max_goal_rounds": { "type": "number", - "description": "Replacement cap for action edit; ignored otherwise." + "description": "Replacement cap; valid only with action edit." }, "blocked_reason": { "type": "string", - "description": "Concrete blocking condition required for action blocked; ignored otherwise." + "description": "Concrete blocking condition; required only with action blocked." } }, "required": [ @@ -735,7 +735,7 @@ }, "sandbox_permissions": { "type": "string", - "description": "Requested sandbox mode. Repeating the effective mode needs no approval; narrower modes are rejected. A wider mode is only valid for a one-shot retry after this exact file operation was denied and requires a non-empty justification and user approval.", + "description": "The wider sandbox mode this file operation needs. Only valid as a one-shot retry of an operation the sandbox just denied; requires justification and user approval.", "enum": [ "workspace-write", "danger-full-access" @@ -743,7 +743,7 @@ }, "justification": { "type": "string", - "description": "Non-empty, one-sentence reason for a different sandbox mode. May be omitted or blank when sandbox_permissions is omitted or repeats the effective mode; a non-empty reason requires sandbox_permissions." + "description": "Required with sandbox_permissions: one sentence for the user explaining why this exact file operation needs the wider access." } }, "required": [