Files
oh-my-pi/packages
Magicien f3ad5ede6b fix(ai): scope the Copilot 8-attempt retry budget to model flaps
The 3 -> 8 bump in callWithCopilotModelRetry was shared by the generic
retryable branch, so a persistent status-less transport blip on Copilot
would ramp across 8 attempts (~11.2s of dead time) instead of the 3 it
took before, and a repeated Retry-After 429 could stretch the same way
on top of the transport's own fetchWithRetry budget.

Derive the budget from the failure kind: model-availability 400s keep the
8-attempt reroll, everything else caps at the previous 3.

Also read COPILOT_TRANSIENT_MODEL_CODES with Object.hasOwn — `code` is
provider-controlled, so a 400 body whose code was `__proto__` or
`toString` classified as transient through the prototype chain.
2026-08-04 21:51:35 +01:00
..
2026-08-04 05:53:35 +02:00
2026-08-04 05:53:35 +02:00
2026-07-31 20:56:49 +02:00
2026-08-04 05:53:35 +02:00
2026-08-04 05:53:35 +02:00
2026-08-04 05:53:35 +02:00
2026-08-04 05:53:35 +02:00
2026-08-04 05:53:35 +02:00
2026-08-04 05:53:35 +02:00
2026-08-04 05:53:35 +02:00
2026-08-04 05:53:35 +02:00