Repository navigation
ckVision 0.1.16
ckVision 0.1.16 adds reusable captured native helper processes, with private
binary stdin and independent bounded stdout/stderr. These helpers do not open
a terminal or ConPTY.
It also adds a generic detached-process launch service for independently
living processes. This service has no application/server/session semantics.
ProcessLaunchSpecsupplies one invocation/environment model for terminal
and captured children, including explicit Windows command-processor syntax.- The injected
ProcessRunnercontract uses a borrowed monotonic clock.
Success requires all input delivered and a known normal zero exit. - Native Windows and POSIX runners drain capped streams while enforcing an
idle-progress deadline. Only actual transferred bytes count as progress. - Descendant handling is required: release after known successful completion,
or terminate on completion. Failures/timeouts clean the owned process group
or job. Windows permits only private child standard handles to be inherited. - macOS uses atomic close-by-default spawn actions; POSIX preserves the
caller's signal policy and reaps the actual root. Native failures retain
typed status and full native error/exit codes. DetachedProcessLauncherconsumes the same explicit launch specification.
Its Windows implementation creates the child suspended, verifies freedom
from every ancestor job before resuming it, and reports typed refusal and
separate cleanup outcomes. No handles are inherited; application readiness
and shutdown remain the adopter's responsibility.
API migration: TerminalLaunchSpec now derives from ProcessLaunchSpec, and
TerminalEnvironmentPolicy is renamed ProcessEnvironmentPolicy. This is
a pre-1.0 public API change; update adopters rather than adding compatibility
workarounds. See captured helper documentation.
Verification: clean private commit b8aca7e5 passes macOS Release229/229,
Debian13.6 ARM64 GCC13.3 Release/FORTIFY229/229, and Windows11 ARM64 MSVC
Release222/222. The same frozen compiled inputs pass LLVM23 Debug ASan/UBSan
plus ten fuzz corpora239/239, and TSan228/228. Eight compiled captured-backend
mutations and an actual Windows detachment-guard omission fail their intended
assertions; all production mutations are restored and rebuilt. The exact
filtered public snapshot a38928cf passes227/227 and strict documentation
generation. All seven jobs in GitHub CI run 37243144550
succeed at that exact public commit, including hosted Windows, macOS, GCC,
ASan, UBSan, TSan and fuzz gates.
This library release is not a claim that ckmux's complete
Windows UI, persistence acceptance, installed release or installer is finished.