Add piped child process support
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Computational Efficiency Implementation Plan
|
||||
|
||||
**Status:** Stages 1–2 complete; Stages 3–11 pending.
|
||||
**Status:** Stages 1–3 complete; Stages 4–11 pending.
|
||||
|
||||
## Purpose And Baseline
|
||||
|
||||
@@ -200,6 +200,13 @@ credentials and mutable external services.
|
||||
|
||||
**Owner:** [internal/process](../../internal/process/process.go) and its tests.
|
||||
|
||||
**Completion:** Complete. `Run` and `StartPiped` share command construction.
|
||||
Piped children expose caller-owned input and output pipes, cancellation, and a
|
||||
single underlying wait/reap while preserving parent-context and exit errors.
|
||||
Tests cover argument, directory, and environment propagation; an exchange that
|
||||
responds before input EOF; synchronized cancellation; startup failure; and a
|
||||
nonzero exit. The package inventory now describes the pipe lifecycle.
|
||||
|
||||
1. Factor existing command construction and command-error wrapping into small
|
||||
private helpers shared by `Run` and a new internal `StartPiped` operation.
|
||||
Preserve arguments, directory, environment overlay/removal, stderr routing,
|
||||
|
||||
Reference in New Issue
Block a user