Tianyi Cui c8aa2302dc Merge remote-tracking branch 'origin/master' into codex/simp-prune-bash-surface 2 månader sedan
..
bash 8c8b422f17 refactor: prune bash implementation surface 3 månader sedan
bash-local 8c8b422f17 refactor: prune bash implementation surface 3 månader sedan
bash-sandbox e3d7bb62d8 fix(permission): address human review feedback 3 månader sedan
tool-bash 419370ea4b fix: keep bash status rendering and parsing together 3 månader sedan
README.md e3d7bb62d8 fix(permission): address human review feedback 3 månader sedan

README.md

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/bash_output/bash_kill tool schemas (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).