Restore files outside the patch feature to their merge-base state: the invariant-check refactors across acp, session-controller, client, compaction, agent-loop, agent, session-title, and subprocess, the cast baseline edit, and the rescope-vendor skip list added during the merge. Rename tool-fs.enableApplyPatch to applyPatch, matching the read, write, and edit switches. Remove the unused collectMutationPaths export and the unconsumed PatchHunk.contextLineIndices field, including its SSH schema and fixtures. Report preflight refusals and syntax failures directly instead of padding every phase with outcome, affectedPaths, and cancelled fields. Add apply_patch to the shipped tool catalog test. Fold the default-activation Agent Note into the apply_patch file-editing note and delete it. Delete the guarded-filesystem-mutations upgrade guide: every change is additive and all FileSystem subclasses live in this repository. Trim defensive and reviewer-addressed sentences from the package READMEs, subsystem docs, FileSystem JSDoc, and the Agent Note, keeping the English and Chinese pairs aligned.
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.