status() returns one snapshot of what has happened, read from disk. It starts no Run and
claims no Lock.
LoopStatus
| Field | Meaning |
|---|---|
running | Whether a Run currently holds the Lock. |
pid | The Lock owner’s process id — present iff running. |
round | The resume cursor — where the next Run picks up. |
usd | Total spend across the whole Loop so far. |
lastExit | How the last Run ended, or null if none has. |
verdicts | The full Verdict history with reasons, one entry per judged Round. impossible is always present on the wire — false when ok. |
lastExit:
{ settled: true, verdict }— a Verdict ended the Loop.verdict.oksays which settle it was: success, or give-up (ok: falsewithimpossible: true).{ settled: false, cause, reason }— the Run was interrupted (budget | rounds | cancel | error | yield) and the Loop stays live for the next Trigger.
Agent runs keep no Record
Agent.define(config).run() runs the Execute phase once, ungraded: no Verify, no Verdict,
no Lock, no Record. Because it keeps no Record there is nothing to read back —
AgentDefinition has no status().