Vox shell operations boundaries
Vox is a language and toolchain. It does not ship a general-purpose shell emulator as a product surface. This page names the three lanes agents and contributors should use so responsibilities stay clear.
Three lanes
| Lane | Use when | Mechanism |
|---|---|---|
| Host shell | You are typing or pasting commands in a terminal (IDE, CI step, local automation harness). | Real pwsh (or the platform shell your workflow uses). Prefer validating risky PowerShell with vox shell check against contracts/terminal/exec-policy.v1.yaml. |
vox shell | Quick manual smoke of the CLI or validating a PowerShell fragment against exec-policy. | Subcommands: repl (micro-REPL, dev-only) and check (AST + policy). repl is not a substitute for pwsh and does not implement pipelines, session cd, or robust quoting. |
.vox programs | Logic lives in the Vox language (scripts, apps, generated Rust). | Typed std.fs, std.path, std.process (argv-first). Do not rely on parsing arbitrary shell command strings in .vox as the default pattern. |
Design principles (LLM-friendly, Vox-native)
- Argv-first subprocesses —
std.process.run/run_ex/run_capturetake a program name and argument list, not a shell line. This avoids quoting and injection hazards common in generated shell. - Explicit path operations — compose paths with
std.path.*; probe kind withstd.fs.exists/is_file/is_dir; normalize withstd.fs.canonicalizewhen comparing locations. - Resolve tools before spawning —
std.process.whichresolves an executable onPATHto an absolute path when you need deterministic spawn behavior. - Policy at the host boundary — exec-policy applies to PowerShell source checked by
vox shell check, not to thereplpassthrough path.
Explicit non-goals
- A Vox-owned interpreter for bash/PowerShell syntax inside
.vox. - Growing
vox shell replinto a session-aware shell with pipelines, job control, or policy-gated arbitrary execution. - Duplicating exec-policy with a second allowlist unless a future product requirement is approved.
Related references
- CLI:
docs/src/reference/cli.md—vox shell. - Std surfaces:
docs/src/reference/std-surfaces.md. - Script primitives:
docs/src/architecture/vox-automation-primitives.md. - Policy research:
terminal-exec-policy-research-findings-2026.md,terminal-ast-validation-research-2026.md.