Run the dsh-archive-agent-notes audit over every active Agent Note on current master, judging each record by whether its rationale still guides work rather than by size or age. - Archive 453 implemented bilingual triplets (417,882 English words): completed UI chrome, narrow adapters, closed bug fixes, implementation walkthroughs whose package READMEs, docs pages, generators, or successor notes now carry the useful behavior, and 51 records fully superseded by a later active note. Keep 201 implemented notes whose ownership rules, negative guarantees, durable or wire semantics, security rules, reintroduction conditions, or still-tempting rejected alternatives remain useful. - Reject 7 proposals whose premise is gone or whose work shipped in amended form under other records; delete 2 rejected notes that no longer prevent a plausible mistake. - Retarget every remaining inbound link to the archived path, and repair active prose that named an archived record as the owner of a live fact: parenthetical citations drop, ownership sentences redirect to the README, docs page, or active note that states the fact, and history citations say so. Chinese files link the English archived path because the pairing gate treats the frozen tree as outside the bilingual corpus. - Seal 1,359 new frozen artifacts; existing seals are unchanged and outbound links from archived notes are neither inspected nor repaired. - Regenerate docs/config-catalog.md after the hook-bridge comment edits shifted two source line numbers.
description, kind
| description | kind |
|---|---|
| Package map for the persistent terminal capability family: the owner-scoped ctx.terminals service, the shell backend that starts interactive bash or pwsh, and the six model-facing tools. | package-group |
terminal/ — persistent PTY capability family
English | 中文
Summary
The terminal/ group gives agents persistent, owner-scoped terminal sessions: shell and REPL state — cwd, exported variables, activated environments, running interactive children — survives across tool calls. Three packages cover the family: terminal/ provides the owner-scoped session service behind ctx.terminals (sessions get opaque ids, and every operation stays fenced to the owning agent); terminal-bash/ starts an interactive bash or pwsh shell under the shared sandbox policy; and tool-terminal/ exposes six model-facing tools with bounded results. A terminal complements the one-shot bash and filesystem tools: use it when work needs interactive stdin or cross-call state. Sessions are process-local and do not survive a harness restart.
Table of Contents
Packages
The family is one session service, one shell backend, and one set of model-facing tools. Each child README owns the full contract; the subsystem reference owns the shared vocabulary and the generated service surface.
| Package | Role | ctx key |
|---|---|---|
terminal/ |
Session service: owner-scoped sessions with opaque ids, exact-owner fencing, and awaited cleanup | ctx.terminals |
terminal-bash/ |
Shell backend: interactive bash or pwsh under the shared sandbox policy, with readiness detection and bounded output | registers a backend on ctx.terminals |
tool-terminal/ |
Six model-facing tools with owner isolation and optional background sends | registers on ctx.tools |
Related documentation
Start with the subsystem reference for the shared types and the service surface, then the Agent Note for the design rationale and deferred boundaries.
- Terminal subsystem reference — ids, backend and session contracts, send readiness, bounded reads, and the generated
ctx.terminalsAPI. - Persistent PTY Agent Note — the design decision, alternatives, and deferred work.
- Capability seams — the Service Definition / Service Provider / Consumer split this family follows.
Dev Note
Working context for maintainers — click to expand
None.