D199 - Scripts reach WSL through one shim

Status: decided Date: 2026-09-26

Scripts that run a step inside WSL go through scripts/wsl.sh, which translates a small set of command shapes and refuses anything else. Paths meant for the inner shell are escaped so WSL, not Git Bash, expands them, and calls set MSYS_NO_PATHCONV=1. Call sites test for the file they need rather than trusting an exit code.

Why: one translation point is one chance to get it wrong instead of dozens. An unknown verb that is approximated does something nearly right silently.

Rejected: rewriting every call site directly.