Context passed to process managers describing the current execution
environment. Clones are cheap and explicit so background handles can own
their working roots without juggling lifetimes.
Owned OS kernel pipe reader half behind a single use slot. Clone
shares the slot; take transfers the handle exactly once so no parent
copy survives spawn to starve the consumer of EOF. Backed by
std::io::pipe (stable since Rust 1.87): pipe on Unix, CreatePipe
on Windows. Moved verbatim from oxdock-process so handle slots can
own kernel pairs without a dependency cycle; behavior is unchanged.
Owned OS kernel pipe writer half behind a single use slot. See
OsPipeReader for the shared slot semantics. Moved verbatim from
oxdock-process; behavior is unchanged.
Host environment variable that forces spawned children to inherit the
parent’s stdout/stderr instead of using the executor’s stream routing.
Recognized values are "1" and case-insensitive "true". Set on the
script environment (an ENV step or host inherit), not the process
environment: the executor reads it from CommandContext::envs.
Host process-environment variable enabling eprintln! diagnostics for
every spawned command (program plus argv/script). Read from the process
environment at spawn time; any value (including empty) enables it.
Abstraction for running shell commands both in the foreground and
background. oxdock-core relies on this trait to decouple the executor
from std::process::Command, which in turn enables Miri-friendly test
doubles.
Create a cross platform anonymous OS pipe pair for concurrent ASYNC
pipelines. The caller moves each half into a spawn and drops any other
copies immediately after spawning, otherwise the reader never sees EOF.
Moved verbatim from oxdock-process; behavior is unchanged.