Skip to content

v0.3.0 "flock" — ducks that cooperate (in the simulator)

Choose a tag to compare

@rokbenko rokbenko released this 31 Aug 10:46
· 28 commits to main since this release

Multiple simulated Microducks can now talk to each other and divide up a job, limited only by the skills each duck already has. The first choreography ships in this release: split the search, hold an auction, the closest duck kicks, and every message is on the record.

Highlights

  • Flock mode: add a flock: block to a .duck file or pass --flock N to put multiple ducks in one shared arena. They coordinate over an in-process message bus with typed messages (TASK, BID, CLAIM, ROLE, HB, RESULT), acting only through the verbs each duck already has, so the machinery is task-agnostic and the kick is simply the first choreography built on it (the target label is configurable). A deterministic Contract Net auction awards the claim from each duck's own camera distance estimate (20 % hysteresis, 6 s claim lease, one claimant lock, sim-time watchdog), and every message, bid, claim and role change lands in flock.jsonl. Guide: docs/flock.md, ADR-0015.
  • Multi-duck simulator: World(n_ducks=…) with per-duck noise streams, duck-duck collisions and the four Microduck colorways. A lockstep clock freezes the world while any pilot thinks, so single-duck runs stay bit-identical per seed (ADR-0016).
  • One LLM call at most: the planner may tune task parameters through a single forced tool call, clamped per field with a deterministic fallback. --provider fake computes the plan as a pure function. summary.json records llm_calls as proof.
  • Ground truth everywhere: the outcome is judged from sim telemetry, not a model claim, and duck-duck separation is watched from world ground truth while a claim is live.
  • Before release the flock diff went through an adversarial review (69 agents, 24 confirmed findings, all fixed): deadlock guards on the shared clock, per-duck budget enforcement, watchdog floors, cooldown gating at bid time and more. Details in the CHANGELOG.

Sim only, honestly labelled: one choreography ships today, and nothing multi-duck has run on hardware (Microducks ship Christmas 2026). More choreographies over the same bus and roles are the roadmap, not the release.

uvx quackd run flock-kick --provider fake --seed 3

Full changelog: v0.2.0...v0.3.0