--- status: accepted --- # Keep exit statuses coarse Shell callers need broad control-flow signals, while automation agents need precise diagnoses. The CLI therefore reserves exit statuses for success, invalid invocation, runtime failure, timeout, and interruption; the versioned JSON `error.code` carries the detailed failure taxonomy. This avoids maintaining two overlapping error classifications that could drift apart.