mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
- scrubbedParentEnv folds case before the DSH_ prefix check (Windows env
names are case-insensitive; a parent dsh_* entry read back as \*
in the child) and the service spec pins the lowercase probe.
- The acp.snapshot.ts pwsh probe follows resolvePwshPath() like the package
suites, so a Windows host with only an install-location pwsh still runs
the scenario.
- pwsh-tool-turn is re-recorded around [Console]::Out.Write('PWSH_OK'):
the fixture carries no platform newline, so one recording replays on
Windows and POSIX alike (record + refresh; replay-verified keyless).
- The pwsh-local Known Limitations bullet drops the self-defeating no-op
advice: & { } is scoped to param(...), using/#requires scripts run from a
file (both languages, pairing re-recorded).
- The capability-seams graph moves ctx.bashEnv ownership to bash-env and
lists pwsh-local/tool-pwsh on the ctx.bash seam (source updated,
docs regenerated).
- The tool-bash presenter fixture retires the stale 'command aborted'
literal for the shipped 'tool call aborted' message.
bash/ — bash capability family
English | 中文
The capability family spans the canonical executor seam, its implementations, the shared shell environment, and the model-facing tools. All product packages.
| Package | Role | ctx key |
|---|---|---|
bash/ |
Abstract bash executor seam (interface + vocabulary; sandbox result facts carry the sandbox/ seam's mode/enforcement vocabulary, and the managed-env/output vocabulary is re-exported from the subprocess/ seam) |
ctx.bash |
bash-local/ |
Local BashExecutor implementation over the subprocess/ service (command defaulting, deadlines, terminal env, background-read merge) |
(registers ctx.bash) |
bash-sandbox/ |
Sandbox-consuming BashExecutor (wraps every command argv via ctx.sandbox, stamps denial/enforcement facts; extends bash-local's mechanics) |
(registers ctx.bash) |
pwsh-local/ |
Local PowerShell BashExecutor implementation over the subprocess/ service (executable resolution, UTF-8-pinned spawn, Windows termination semantics) |
(registers ctx.bash) |
bash-env/ |
Tool-independent managed DSH_* shell environment registry shared by the shell tools (built-in facts + effect-scoped contributors) |
(registers ctx.bashEnv) |
tool-bash/ |
Model-facing bash schema; background processes register with the generic tasks/ runtime |
(registers on ctx.tools) |
tool-pwsh/ |
Model-facing PowerShell-dialect pwsh schema (behavior mirrors tool-bash minus the sandbox surface); background processes register with the generic tasks/ runtime |
(registers on ctx.tools) |
The interface lives at bash/bash/. bash-sandbox replacing bash-local without touching the interface or the tool is the split doing exactly what it exists for — a leaf cordis.yml picks one executor entry, plus a ctx.sandbox provider entry for the confined one (see the acp-agent example's default composition).