Repository navigation
v0.8.0
Honest takes, and a pool that remembers its size. Both born from agent dogfooding reports (#16, #17, and the sizing question that followed).
take honors remote branches (#16). A branch that exists only on origin is now created from the remote and tracks it — matching git checkout's behavior — instead of silently handing back a fresh branch from base wearing the remote branch's name. The old behavior left one push --force-with-lease between an agent and an open PR's commits. When local and origin tips diverge, take says so on stderr and touches nothing.
The pre-warmed claim is now conditional and enforced by nagging (#17). With [warm] run empty, slots are bare checkouts — and now everything says so: the skill states it plainly, fill warns when a known lockfile is present (naming the file and the suggested command across 14 ecosystems, npm to cargo to dotnet), and init prints the same suggestion. Nothing is ever written to the config: warmtree still never guesses your install command.
Bursts no longer become monuments. The pool grows past size under load and, until now, stayed there forever — every burst slot a full node_modules on disk. Surplus ready slots that sit unused for shrink_after (14 days by default, configurable, "off"-able) are now trimmed back to size, oldest idle first, by the same self-maintaining refresh pass. size is the floor: the pool never trims below its configured ready buffer.
The prerequisite: hot allocation. take now claims the most recently used slot instead of round-robining through the oldest — cold surplus actually idles, so it can actually decay, and you get the freshest checkout besides.
Also: refresh --help now documents the full self-maintenance story with a worked example, and trim persists state after every removal so a mid-loop failure cannot orphan the bookkeeping.