deepseek-harness/packages/bash
Tianyi Cui 6520f71f94 Merge remote-tracking branch 'origin/codex/invariant-service-seam' into codex/invariant-package-registration-gate
# Conflicts:
#	.agents/notes/implemented/architecture/2026-07-19-package-owned-invariant-service.i18n.yaml
#	docs/core-data-structures/session.md
#	docs/module-graph.md
#	package.json
#	packages/sdk/scripts/tsconfig.json
2026-07-20 00:35:06 +08:00
..
bash Merge remote-tracking branch 'origin/codex/invariant-service-seam' into codex/invariant-package-registration-gate 2026-07-20 00:35:06 +08:00
bash-local Merge remote-tracking branch 'origin/codex/invariant-service-seam' into codex/invariant-package-registration-gate 2026-07-20 00:35:06 +08:00
bash-sandbox Merge remote-tracking branch 'origin/codex/invariant-service-seam' into codex/invariant-package-registration-gate 2026-07-20 00:35:06 +08:00
tool-bash Merge remote-tracking branch 'origin/codex/invariant-service-seam' into codex/invariant-package-registration-gate 2026-07-20 00:35:06 +08:00
README.md Rename RFCs to Agent Notes 2026-07-19 22:52:03 +08:00

bash/ — bash capability family

The canonical three-package capability seam (see capability seams): an abstract executor interface, concrete implementations, and the model-facing tool that consumes it. 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) ctx.bash
bash-local/ Local-subprocess BashExecutor implementation (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)
tool-bash/ Model-facing bash schema; 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).