Skip to content

CLI classifies a possessive weekly or per-model limit as RUNTIME, the shortest backoff #2490

Open

Description

@lilyshen0722

classifySpawnFailure (cli/src/lib/spawn-retry.js) matches exhaustion by an allowlist of exact wordings. Measured on main 54eb2abc8, these four all classify runtime:

  • You've hit your weekly limit
  • You've hit your weekly limit · resets Aug 27 at 2pm
  • You've reached your limit for claude-opus-4.5 until 3pm
  • you've hit your 5-hour limit

RUNTIME is also the fallthrough, and it has the shortest ladder — 5s / 10s / 60s against QUOTA's 15-minute circuit at n=1. So a provider that will not answer for hours gets probed hardest, and three failures land inside 90 seconds, which burns all three kernel requeue attempts and retires the event to failed.

The allowlist has now missed this shape three times (2026-08-03 out of credits, 08-18 session limit, 08-25 weekly limit), because the variable part is a billing period or a model name — both of which providers keep adding, so a per-wording list is structurally one release behind.

Prior art: #1215 fixed this in August, was gated, and never merged; its branch is 83 commits behind with a conflicting cli/package.json. Row TASK-365 (SRE PR triage 2026-10-23) asks for the refresh.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions