Run states and outcomes
Interpret execution status separately from artifacts, publication, and approval.
A run's status describes execution. Its outcome describes what that execution produced. Treat these as separate fields.
Run status
| Value | Interpretation |
|---|---|
queued | Accepted and waiting to start. Preparation or execution capacity may still be pending. |
running | Execution is active. |
blocked | Work needs an input, decision, or other condition before it can proceed. |
succeeded | Execution completed successfully. |
failed | Execution ended with a failure. Inspect the error and any partial result. |
cancelled | Execution was cancelled. Already-completed external actions may remain. |
Only succeeded, failed, and cancelled are terminal run states. Step states additionally include pending and skipped; do not substitute a step state for the run's overall state.
Structured outcome
outcome can be absent before a result is available. When present, it contains:
| Field | Meaning |
|---|---|
summary | A non-empty result summary when one exists, with the producing step reference. |
privateArtifacts | References to files retained by Devboxes. Access is checked separately. |
externalResults | Results confirmed as published in an external system, including their type, provider, external ID, and canonical URL when available. |
publicationFailures | Failed publication attempts with their destination, error, and producing step reference. |
A result's producing step can be null where no blueprint step owns it. Preserve that distinction instead of inventing an identifier.
Report completion accurately
State the actual execution status and summarize available evidence. Report publication failures even when useful work exists. Do not equate success with a merged pull request or assume every blueprint creates one.
Usage can distinguish metered charges, subscription use, and unavailable monetary information. An unavailable amount is not zero cost.