Fieldnotes / engineering
← Timeouts and retries

Watch & compare

Timeouts and retries

Different ways to see the same idea. Play one cut at a time, then return to the guide to try it yourself.

Why we recommend Retry budget

Start with Retry budget: its clock keeps draining through the wait and second attempt, then runtime code blocks another request and returns STATUS UNKNOWN. One retry owner makes the complementary cost of nested retries concrete by counting six downstream calls before reducing them to three. The revised original is the clearest demonstration that a service can finish after its caller times out, but it does not show an overall deadline or exhaustion.

Revised original · 21 sec

Timeout does not cancel work

A read can finish remotely after its caller times out; a bounded retry waits, then makes a new attempt.

Read the video sequence
  1. 0–6s A normal read receives a response before the attempt timeout. The caller accepts it.
  2. 6–10s A separate read starts at 7s. The caller waits three seconds, then times out while the service keeps working.
  3. 10–14.5s During a sampled 4.5-second backoff, the service completes at 12s. Its late response arrives at 13.2s and is rejected by the expired attempt. Timeout did not cancel the work.
  4. 14.5–17.1s The delay indicator clears and the caller uses the second and final permitted attempt. This read succeeds.
  5. 17.1–21s The accepted result and two-attempt limit hold, then fade to black. This cut illustrates per-attempt waiting and late responses; it does not show an overall deadline, retry exhaustion, or fleet-level jitter.
About this cut

Production: Original prototype; model not recorded.

Revision: gpt-6-astra comparative review.

Read-only request; write safety requires documented idempotency or reconciliation.

Per-attempt timeout and a two-attempt limit are shown; operation-wide deadline and retry exhaustion are not.

One sampled delay does not demonstrate fleet-level jitter. Timing is illustrative.

Audio analysed, not physically heard.

Recommended · Astra · 26 sec

Retry budget

A retry consumes the existing tool-operation budget; when it expires, runtime code blocks further attempts and reports an unknown outcome.

Read the video sequence
  1. 0–7s An agent asks for CI status. The runtime sends a read, receives a completed status, and returns a known result. This normal operation uses part of its own budget.
  2. 7–13s A new logical read begins. Its twelve-second shared budget starts at 00:08. The service does not reply, and the first attempt times out after five seconds.
  3. 13–15s The runtime waits two seconds before retrying. This is one illustrative sampled backoff; the shared budget continues shrinking from seven to five seconds.
  4. 15–20s The runtime sends its second and final allowed attempt. The retry uses the five seconds remaining in the original budget; the timer does not reset.
  5. 20–26s The deadline closes the runtime gate. The agent receives an unknown status. A repeated request is blocked before it reaches CI. This limits caller retries; it does not prove that remote work stopped.
About this cut

Production: gpt-6-astra.

Illustrative CI read and runtime policy; 12 seconds, two attempts, and a two-second sampled delay are not production defaults.

The runtime gate must be implemented in code; persistent prompts do not enforce budgets or permissions.

The video does not demonstrate fleet-level jitter, write idempotency, or cancellation of remote work.

Audio analysed, not physically heard; self-reviewed, with no comparative ranking.

Alternative · Sol · 32 sec

One retry owner

An agent's retry loop can multiply a tool's retries; one code-enforced policy bounds attempts and total waiting.

Read the video sequence
  1. 0–5.3s A code-search request passes from the agent through a read tool to the code index. One service call succeeds and the result returns.
  2. 5.3–16s The index becomes unresponsive. The agent invokes the tool twice, and the tool makes three attempts each time. Six service calls accumulate as the waits time out.
  3. 16–19.1s The policy changes in the orchestration code: the agent may invoke the tool once, and the tool alone owns up to three total service attempts, including the initial call. A six-second budget appears.
  4. 19.1–25.1s The tool makes three reads with two sampled backoff waits of 1.3 and 1.8 seconds. The same time budget drains during calls and waits. These timings illustrate one scenario, not a guarantee.
  5. 25.1–32s The overall budget expires before the last call can use its full individual timeout. The tool stops at three calls and returns a failed tool result; the agent hands off without restarting the read. The index still shows Unresponsive: no result was observed, which does not establish whether remote execution stopped. The result holds, then the screen fades to black.
About this cut

Production: gpt-6.1-sol.

Revision: gpt-6-astra comparative review.

Illustrative read-only code search; timing and attempt limits are examples, not production recommendations or recovery guarantees.

The two waits show one sampled jittered-backoff sequence; many-client de-synchronization is not demonstrated.

One six-second downstream budget includes calls and backoff waits; the third attempt’s response wait ends early at that deadline. Client stopping does not cancel already running remote work.

Retry limits and permissions require harness/tool enforcement with SDK retries accounted for; persistent prompts alone do not enforce them.

Audio was analyzed for levels, cue timing and spectrum, not physically listened to; no comparative quality recommendation is claimed.

These animations use sound effects rather than narration. The written guide explains the mechanism and its limits. Model names describe how a cut was made, not a quality ranking.

What the review found