Skip to content

v0.24.0 — every start re-checks capacity, and a dry mark can no longer stick

Choose a tag to compare

@jmvbambico jmvbambico released this 20 Oct 08:39
· 36 commits to main since this release
b2d4416

A worker marked dry used to stay dry until someone cleared it by hand. og stats --mark without --until stored a mark with no expiry. For agents whose quota cannot be queried (OpenCode Zen's free tier, Command Code), no measurement ever arrived to override it. One "rate limit exceeded" mark kept two workers out of the roster for a week.

og start and og restart now probe every installed agent before handing over:

  • Agents with a quota probe use it, as og stats already did.
  • Agents without one get a one-line liveness request through their own CLI, on their pinned model.
  • A worker that answers has its dry mark cleared.
  • A real quota rejection sets a dry mark that expires when the error says it resets (Resets in 2h 41m, 2d, …), or after an hour.
  • A missing binary, an auth error or a timeout is reported as broken, never as dry.

Probes run in parallel with a 20-second limit each. They never block or fail og start, and og start --no-probe skips them.

A probe never spends money. It runs only when the exact pinned model is on the registry's free_models list for that agent; a model id that merely looks free is not enough. Pins not on the list, such as Command Code's credits and Kiro's auto, are reported skipped and their CLI is never run. Each probe runs with stdin closed, in its own process group and an empty temporary directory, with no flags that let the agent act. A timeout kills the whole process group.

og stats --mark without --until now defaults to one hour. Marks, clears and probe results are written under a file lock, so og stats and a starting og no longer overwrite each other.

Also in this release (#47, thanks @sebastianfellerich-collab):

  • Kilo pins with a :free suffix (e.g. kilo/poolside/laguna-s-2.1:free) are treated as free, so a $0 paid balance no longer reports them dry.
  • Antigravity coders now run with bypassPermissions. A host-spawned agy worker no longer parks its first command on an approval prompt nobody answers.