Skip to content

v0.2.1

Choose a tag to compare

@devjasha devjasha released this 17 Aug 09:55
· 43 commits to main since this release

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 | sh

Fixes

  • Transient failures are retried. A 500 or 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 402 was 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