Merge master 62b700bba7bb71e66d2d5a3b850ba8f4dd0fd6b4 into release/session-log-v4 at 4825bc01a999f564e79172a6af28e34fc757c540. Preserve this pinned integration checkpoint before any later upstream movement so the dependent session-format repairs have an immutable rebase base. Keep release projection-backed child catalogs, independent Session references, exact fork behavior, V4 writer, and existing migration data. Adapt the incoming subagent sidebar chat to refreshProjections rather than the removed dedicated catalog API, preserve title projections in complete projection fixtures, and retain both sidebar actions and release lineage/status behavior. Remove the duplicate SessionProjectionMap import introduced by automatic merging. Preserve both disjoint archive seals without changing any existing hash. Regenerate current Cordis and documentation catalogs from the combined source, retaining release session methods plus master slot factories. The frozen V0-V3 runtime paths are unchanged. Initial validation passed the full build, 93 focused Client tests, and all 1905 archived artifact seals; remaining integration and snapshot checks follow on this checkpoint.
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.
Related documentation
- Subprocess subsystem — spawn specs, output readers, outcomes, and the managed
DSH_*environment. - Subprocess seam Agent Note — why the process half of the bash executors became its own seam.
Dev Note
Working context for maintainers — click to expand
None.