Repository navigation
v0.16.1 quackd's first patch fixes five faults found by rerunning 0.16.0 on the arm's twin
This is quackd's first patch, and the first release cut by
RELEASING.md. Rerunning 0.16.0 on
the lab arm's twin on 2026-09-29 found five faults, and 0.16.1 fixes them and one more in how
the eight packages pin each other. The first is a policy latency its chunks cannot carry. A
segment asks for the next chunk only once the last has landed, so a --latency-s past half a
chunk left the arm nothing to play for part of every chunk. The trained ACT, 100 actions at
30 Hz, starved 86 of 300 ticks in every 10 s segment on the twin when served with
--latency-s 1.78, while quackd policy check --bench said that latency covered what it timed.
quackd policy serve and quackd policy check refuse such a latency and say the longest that
fits, 1.66 s for that ACT, so serve with that or less, or where the policy answers faster. The
arm refuses to connect to a server an earlier quackd started with one, before any torque, and
nothing overrides that.
Then the small ones. The assess line said (the human said go) when --yes, a flock's
standing answer or a pipe on stdin had answered and nobody was asked. It names what answered
instead, (--yes said go) and the like, and where the prompt raised, it says the question went
unanswered. On the simulator's clock a 10 s segment at 30 Hz could play 301 ticks, and it plays
300. A sidecar's place: jaws could lay a cube that closing the gripper never touches. The
simulator's connect rehearses the close on a copy of its physics and refuses such a start,
saying how near the moving finger came. quackd doctor's joint_range_deg row printed whole
degrees, and it prints the travel as the pilot is told it, to a tenth of a degree rounded
inward. The fix in how the packages pin each other is that every window starts at the release
it ships in, so quackd-lerobot 0.16.1 needs quackd 0.16.1 or a later 0.16. The rest is
documentation, and uv.lock takes Dependabot's grouped update from #31, which moves no
requirement a user installs against. The arm has not run quackd since 2026-09-23, so none of
these fixes has run on it. What 0.16.1 changes in lerobot:real has run only against a fake
arm and on the simulator, and the bench steps 0.14.0 and 0.15.0 owe in the
hardware checklist
are still owed. Upgrade each machine with the extra it has:
uv pip install --upgrade "quackd[lerobot]" # the machine that drives the arm
uv pip install --upgrade "quackd[lerobot-vla]" # the machine that serves its policy