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¶
doc/project/40-proposals/019-supervised-local-http-json-middleware-executor.mddoc/project/40-proposals/049-json-e-middleware-transformer-executor.mddoc/project/50-requirements/requirements-010-middleware-executor.md
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.