9.5. Exit statuses
The strata CLI shares one exit-status contract. Codes 1 and 2 mean you have something to fix;
3 and 4 mean the tool does.
Code | Meaning |
|---|---|
0 | Success, an inconclusive result, or a solver timeout |
1 | Bad arguments or input, or command setup failure |
2 | Analysis failures were found |
3 | Internal error — report it |
4 | A known limitation was hit — an intentionally unsupported construct |
A 0 from laurelAnalyze does not on its own mean verification succeeded, because inconclusive
results and timeouts also exit 0. Parse the printed ==== RESULTS ==== section rather than
trusting the status alone. The same applies to laurelInterpret, which reports assertion failures
in its diagnostics block while still exiting 0.