cli-exit-code-contract-is-binary
IN premise
Every CLI subcommand returns exit code 0 for success and 1 for any user-facing error; no other exit codes are used or tested.
Summary
The CLI uses only two exit codes across all its subcommands: zero means it worked, one means it didn't. There are no graduated error codes to distinguish between different failure types, so any tooling or scripting that calls these commands can only check pass/fail, not diagnose what went wrong from the exit code alone.
Dependents
These beliefs depend on this one:
- cli-is-deterministic-and-stream-correct — The CLI achieves full scriptability through three deterministic properties: flat dict dispatch with no dynamic plugin resolution, binary exit codes (0 success, 1 error) with no ambiguous intermediate codes, and clean stream separation (diagnostics to stderr, results to stdout)
Details
| Source | entries/2026/04/29/tests-test_cli.md |