turn/retryScheduled
A failing model attempt’s retry is scheduled and waiting out its backoff; observable mid-turn, non-terminal.
Parameters
Section titled “Parameters”Type: TurnRetryScheduledParams
turn/retryScheduled params: a durable
turn retry-scheduled fact folded — the failing model attempt’s scheduled
retry is observable BEFORE the turn terminates, so a streaming client can
render “attempt N/M · retrying in Ss · reason” instead of dead air.
Non-terminal: it never resolves a turn-wait. The delay is
the recorded scheduled backoff, never an absolute fire time — clients
derive any countdown locally. sourceRange cites the session stream’s
mirror of the task-lifecycle record.
| Field | Type | Stability | Presence | Description |
|---|---|---|---|---|
attempt |
integer |
required | The attempt that failed (producer-normalized, >= 1). | |
maxAttempts |
integer |
required | The turn’s model-retry chain bound. | |
nextAttempt |
integer |
required | The attempt about to run (producer contract: attempt < nextAttempt <= maxAttempts; not a schema constraint). | |
reason |
string |
required | The recorded stopping reason through the shared task-detail normalization (non-empty; capped at 160 characters). | |
retryDelayMs |
integer |
required | The scheduled backoff delay in milliseconds, verbatim from the durable fact. | |
sessionId |
string |
required | The owning session. | |
sourceRange |
SourceRange | required | The durable record this event folded from (the session stream’s mirror of the retry-scheduled task status; first == last). |
|
turnId |
string |
required | The running turn whose model attempt is being retried. | |
viewCursor |
string |
required | Opaque, strictly monotonic view cursor. |
Source
schema/msp/experimental/msp.schema.json#/notifications/turn~2FretryScheduled
{ "description": "A failing model attempt's retry is scheduled and waiting out its backoff; observable mid-turn, non-terminal.", "params": { "$ref": "#/$defs/TurnRetryScheduledParams" }}