Exit codes and verdicts
How a session ends and what the process returns.
Every session ends one of four ways, and a goal test turns those into an exit code.
Session endings
The ending decides whether a session counts as a drop-off.
| Ending | Meaning | Counts as a drop-off |
|---|---|---|
| COMPLETED | Reached the goal. With --expect, only if every value showed. | No |
| ABANDONED | Walked out with a reason, or ran out of patience. | Yes |
| GUARDRAIL | A safety rule refused an action and the prospect could not route around it. | Yes |
| COULD NOT RUN | Our side failed: unreachable URL, model stopped answering, setup error. | No, counted apart |
Exit codes
The process exit code is what CI and shell scripts read.
| Code | With --goal | Anywhere |
|---|---|---|
0 | Every session completed. | Success. |
1 | A session walked out or hit a guardrail. | An error, e.g. --validate-flow found a problem. |
2 | Nothing failed, but a session could not run. | |
130 | Ctrl-C out of a menu. |
leakdown "$URL" --goal "sign up" --steps 15 --yes --headless
case $? in
0) echo "signup works" ;;
1) echo "signup failed for someone"; exit 1 ;;
2) echo "could not run; retry" ;;
esac