Files
deepseek-harness/packages/subprocess
imccyu da5e23e8e8 refactor(subprocess-local): decide Linux containment in a testable selector
The provider's Linux decisions now live in LinuxScopeSelector, a state machine
over injected observations: the deep probe, the user-manager listener, the
manager confirmation, and the systemd-run binary identity. Each decision
carries its reason and probe trigger, the runtime logs it at debug level, and
table-driven scenarios cover every transition.

- A positive verdict probes again when the systemd-run found through PATH
  changes device, inode, size, or modification time, so an in-place upgrade
  past v254 cannot reuse options that no longer keep argv literal.
- The listener is read before the probe, so a manager that starts during a
  failed probe counts as a new listener.
- The kernel socket table is decoded as UTF-8, matching runtime directories
  outside ASCII.
- LinuxScopeNotStartedError drops its unused code field.
2026-10-15 00:51:05 +08:00
..
2026-10-09 15:13:40 +08:00
2026-10-09 15:13:40 +08:00

description, kind
description kind
The subprocess group map: the shared child-process service and its local host provider, for users and maintainers navigating the group. package-group

subprocess/ — subprocess capability family

English | 中文

Summary

Every child process and terminal session the harness runs — bash commands, language servers, persistent shells, and out-of-process subagent backends — is started, observed, and terminated through one shared service (ctx.subprocess), with a local provider running them on the host machine. It is not a standalone product feature: the consuming capability seams decide what each process means, and command semantics, deadlines, and model-facing presentation stay with them. The group provides executable lookup, bounded output capture with spill recovery, provider-managed process ranges with disclosed weaker fallbacks, and a scrubbed starting environment for every child.

Table of Contents


Packages

Package Role ctx key
subprocess Defines the child-process service: executable lookup, managed process spawns, and real terminal sessions ctx.subprocess
subprocess-local Runs host processes and terminals with native managed ranges where supported and explicit weaker fallbacks elsewhere registers on ctx.subprocess
win32-process Owns shared Win32 bindings for sandbox and ordinary process creation, stdio, Job assignment, polling, waits, and handle cleanup library — no ctx key

The service keeps process lifetime across consumer reloads; consumers own what a process means (a bash command, a language server) and every default that shapes one.



Dev Note

Working context for maintainers — click to expand

None.