loop status is one snapshot of what has happened, read from disk. It starts no
Run and claims no Lock — it is safe to call while another process owns the
Workspace. A Loop that has never run shows the zero state, so once the config
loads the command always exits 0.
Human output
Four lines, at a glance:| Line | Meaning |
|---|---|
running | yes (pid <n>) while a process owns the Lock, else no |
round | the Round count so far |
spend | dollars spent, e.g. $1.42 |
verdict | the last Verdict with its reason — met, not met, or impossible; none when the Loop has never been judged |
--json
--json prints the LoopStatus snapshot itself — the same public read surface
an embedding host calls:
pid is present only while the Loop is running. lastExit is how the last Run
ended — { settled: true, verdict } or { settled: false, cause, reason } —
and is null before the first Run completes. verdicts carries every Verdict
so far, each tagged with its Round.
Exit codes
0 once the config loads — a never-run Loop is not an error. 1 when the
config is missing or malformed, or on an unknown option.