Feature: Arm's-Length Subprocess Execution & Process Manager #2

Closed
opened 2026-08-21 10:29:28 +01:00 by gronod · 0 comments
Owner

Description

Build an asynchronous, non-blocking process execution manager to safely spawn and supervise external ArgyllCMS binaries.

Requirements

  • Decoupled process launcher supporting targen, printtarg, chartread, colprof, and profcheck.
  • Line-by-line buffered stream readers for stdout and stderr.
  • stdin writer pipe to inject user keystrokes into interactive child processes.
  • Graceful termination and cancellation handling (SIGTERM / kill).
  • Maintain pure arms-length IPC boundaries to preserve closed-source license compliance.

References

### Description Build an asynchronous, non-blocking process execution manager to safely spawn and supervise external ArgyllCMS binaries. ### Requirements - Decoupled process launcher supporting `targen`, `printtarg`, `chartread`, `colprof`, and `profcheck`. - Line-by-line buffered stream readers for `stdout` and `stderr`. - `stdin` writer pipe to inject user keystrokes into interactive child processes. - Graceful termination and cancellation handling (`SIGTERM` / `kill`). - Maintain pure arms-length IPC boundaries to preserve closed-source license compliance. ### References - [README.md - Subprocess Management](README.md#1-architectural-overview--licence-boundary)
gronod added this to the Milestone 1: Project Scaffolding & State Management milestone 2026-08-21 10:29:28 +01:00
Sign in to join this conversation.