Przejdź do treści

Command Stdio Executor Config

Source schema: doc/schemas/command-stdio-executor-config.schema.json

Configuration contract for one bounded command_stdio middleware executor. The executor invokes one external process per envelope, sends a workflow envelope as one JSON line on stdin, expects one middleware-decision JSON value on stdout, and retains stderr only for bounded diagnostics.

Governing Basis

Project Lineage

Requirements

Stories

Fields

Field Required Shape Description
id yes string Stable executor identifier used by hook policies, diagnostics, and execution traces. Runtime validation rejects empty or whitespace-only values.
executable yes string Executable path or command name passed to the host process launcher. Runtime validation rejects empty or whitespace-only values.
args yes array Process arguments appended after the executable. Arguments are host-local launch data, not shell-interpreted command text.
cwd yes string | null Optional working directory for the child process. null means inherit the host process working directory.
env yes object Extra environment variables injected before optional sandbox hooks run. This map is additive unless a sandbox profile later clears or rewrites the environment.
timeout_ms yes integer Maximum wall-clock runtime for one external executor invocation, in milliseconds. This maps to the Rust Duration field named timeout.
max_stdout_bytes yes integer Maximum number of stdout bytes accepted from the child process before the invocation fails closed.
max_stderr_bytes yes integer Maximum number of stderr bytes retained from the child process for diagnostics before the invocation fails closed.
## Field Semantics

id

  • Required: yes
  • Shape: string

Stable executor identifier used by hook policies, diagnostics, and execution traces. Runtime validation rejects empty or whitespace-only values.

executable

  • Required: yes
  • Shape: string

Executable path or command name passed to the host process launcher. Runtime validation rejects empty or whitespace-only values.

args

  • Required: yes
  • Shape: array

Process arguments appended after the executable. Arguments are host-local launch data, not shell-interpreted command text.

cwd

  • Required: yes
  • Shape: string | null

Optional working directory for the child process. null means inherit the host process working directory.

env

  • Required: yes
  • Shape: object

Extra environment variables injected before optional sandbox hooks run. This map is additive unless a sandbox profile later clears or rewrites the environment.

timeout_ms

  • Required: yes
  • Shape: integer

Maximum wall-clock runtime for one external executor invocation, in milliseconds. This maps to the Rust Duration field named timeout.

max_stdout_bytes

  • Required: yes
  • Shape: integer

Maximum number of stdout bytes accepted from the child process before the invocation fails closed.

max_stderr_bytes

  • Required: yes
  • Shape: integer

Maximum number of stderr bytes retained from the child process for diagnostics before the invocation fails closed.