v0.2.1
Fixes for turns dying on a free tier, all found from one report.
Install
curl -fsSL https://raw.githubusercontent.com/devjasha/raunen/main/install.sh | shFixes
-
Transient failures are retried. A
500or a dropped connection was not retried at all, so a turn could die after a long run of successful tool calls. It is usually the endpoint having a moment rather than anything wrong with the request, so it is sent again twice with a short backoff before the ladder is involved. -
"No credits" is no longer reported as "rate limited". A
402was classified as a rate limit and given a 30-second cooldown, which can never clear it. It is now its own class and a lockout, and OpenRouter's message — which says exactly what is short and by how much — is shown instead of a paraphrase. -
A refusal no longer needs a roomier model to escalate to. Insisting on a larger window left a whole ladder unused: a model declaring 1,048,576 tokens outranked every free rung at 1,000,000, so a turn failed with somewhere perfectly good to go. Size only matters when the problem is room.
-
A shared allowance rests the whole provider. A free tier's per-day cap belongs to the account, not to one model, so when it runs out every free model behind that provider refuses too. Eight doomed requests are now one.
-
The endpoint's message is no longer mangled. It was extracted by splitting on the last
": ", but the body contains": "itself, so a fragment of the middle of the JSON surfaced. -
A model is only remembered once it answers. Escalating away from a model that refused updates the saved default, but only after the replacement completes a turn — otherwise the default churned through a ladder of models that were failing too.
Full Changelog: v0.2.0...v0.2.1