The seam gains ShellDialect ('bash' | 'powershell' - concrete shells, not
families: zsh or fish would be their own values, never 'bash'); bash-local
declares bash (bash-sandbox inherits), pwsh-local declares powershell, and
both tools throw at load when the mounted executor speaks another dialect -
previously tool-pwsh over bash-local handed PowerShell text to bash -c and
the deployment error surfaced as ordinary nonzero exits. Pinned by mismatch
tests on both tools; the parity note records the contract (both languages).
Also from the review round: the tool-bash README's managed-environment
section becomes a summary linking the owning dsh-bash-env contract (the
duplicated prose carried a stale owner in its example import), the
pwshOnly JSDoc drops the stale 'on PATH' phrasing, and the task-tools
contract comment in the two pwsh compositions is indented into its block.
context/ — request-context extensions
English | 中文
Product plugins that add model-visible request context without defining a tool. workspace-context is included by the default dsh-agent-spine-demo bundle and can be disabled through bundle config; time-context and tmux-context are opt-in, while the standard TUI bundle composes session-reference explicitly.
| Package | Role | ctx key |
|---|---|---|
session-reference/ |
Bounded current-surface snapshots of other sessions | ctx.sessionReferences |
time-context/ |
Durable per-step current time and elapsed-time context | (none) |
tmux-context/ |
Durable per-turn context with this agent's tmux pane/window location | (listens on agent/step, reads ctx.bash) |
workspace-context/ |
AGENTS.md/CLAUDE.md workspace context loader |
(listens on agent/step + tools/post-execute) |
The workspace-context decision record explains its per-agent/session isolation and lifecycle split.