Read a run
puppi logs prints one run: each attempt’s status, how long the steps took, the error, and the lines from ctx.log.
puppi statuspuppi logs <run-id>puppi logs <run-id> --jsonpuppi status is the latest run. Pass --run <id> to select another. The engine keeps the newest 100 runs on the list route.
Attempt status
Section titled “Attempt status”| Status | Meaning |
|---|---|
running |
The attempt has not settled. |
success |
The producer finished and the checks passed. latest moved. |
failed |
The producer failed. error_class is retryable or terminal. |
failed_by_check |
A blocking check failed after the write. latest stayed on the previous result. |
skipped |
Nothing new arrived, or the asset was already current. |
blocked |
An upstream in this run failed or was blocked, so this asset did not build. |
cancelled |
The attempt was cancelled. |
A run’s status is queued, running, success, failed, or cancelled. queued means a run of the same plan is already in flight, and this one waits for it.
The error and the log
Section titled “The error and the log”error_class is retryable or terminal. A retryable failure may already have been followed by a later attempt with a higher number. The message on the last one includes gave up after … when the budget is spent. See Rate limits and retries.
A check failure looks like this:
check failed: column email missingctx.log lines are on the attempt, with a level of debug, info, warn, or error. Secret values are scrubbed before the line is stored. --json prints the attempt objects from GET /api/v1/runs/<id>, including timings, logs, error_class, and error_message.