Skip to content

Model HTTP retry/backoff + real background-job cancellation #88

Description

@adamcohenhillel

OpenAiResponsesAgentAdapter calls the model with 15s connect / 45s read timeouts but no retry/backoff on 429 or 5xx. OpenPhoneAgentJobScheduler.isCancelled() hardcodes false (:142-144), so background jobs can't stop while waiting on a stuck upstream.

Fix

  • Bounded exponential backoff with jitter for 429/5xx.
  • Respect Retry-After when present.
  • Wire isCancelled() to a real signal from the job manager so a user-cancelled job actually stops.
  • Add a RuntimeException-safe path so a broker outage doesn't kill the whole agent thread.

Size: M

Metadata

Metadata

Assignees

No one assigned

    Labels

    M4-runtimeM4: Provider & Runtime MaturitybugSomething isn't working

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions