The stream stopped but the run didn’t
The progress stream times out after 300 seconds. The run keeps going.The run is waiting on a person
A run that needs information it can’t infer raises an input request and pauses rather than guessing.satisfied, cancelled, or expired is rejected rather than ignored.
A story failed
If the policy is wrong for the step, that’s a spec change, not a run problem. Resume the plan chat and adjust it.
The agent can’t reach something it needs
reconcile, introspect, refresh-tools, fix-credential, verify-backend.
A scheduled run never fired
Check the schedule itself:0 9 * * * is 09:00 UTC, not 09:00 local.
Environment. If it says dry_run and you expected live, set reverted it. set sends the run mode on every call and defaults it to dry_run, so changing only --cron drops a live schedule back:
— means it has never fired. If the schedule was set after the day’s fire time, the next run is the next future occurrence — changing a schedule resets its clock and never back-fires.
If the platform was down across several scheduled times, it fires the most recent missed one once on recovery, not a burst.
A webhook fired but no run started
triggers test signs with the real secret on the server, so it exercises the true signature path. If the test works and real deliveries don’t, the mismatch is in the source system’s configuration.
Also check the binding is enabled:
The run happened but the result is wrong
This is the failure mode worth the most attention, because nothing errors.The run used the wrong mode
Without--mode, a run uses the agent’s current deployment stage. A live-staged agent runs live.
Seeing more
--verbose shows an output preview for each step. JOYSTREAM_DEBUG logs the full traceback to stderr.