A paid seat within one lens cost of its budget is neither placed nor out #1
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Catcrafts/Crafter.Review#1
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A paid seat is held out on its budget only when
spentUsd >= budget(LedgerVerdict, used byLoadSeatsand, from 1.1.0, after a probe). Placement needs room for one more pass:ApiRoomrequiresspentUsd + (running + 1) × lensCost + foreign <= budget. A seat whose spend is under its budget by less than one lens cost, with nothing running, is thereforeokbut never eligible, andAllOutdoes not count it. A pool made only of such seats keeps waiting on "no seat has room for a new launch" instead of ending with "every seat is out".Present on master (
0d3d8ed). 1.1.0 adds one more way in: an OpenRouter key whose credit-out is lifted keeps its cycle's spend.A fix makes the out test and the room test agree for an idle seat (out once a single pass no longer fits), with a test of a pool whose only seat sits half a lens cost under its budget.
Found by the 1.1.0 push gates.