Code for Breakfast

beady-eye v0.30.0

Cooking in two kitchens: beady-eye 0.30 knows a claim from another machine is still being worked

In beady-eye 0.30.0, a claim whose lease is live counts as worked, and so does a claim that sits beneath a bead holding one. Before, a bead claimed by a seat on another machine showed up as an orphan on every machine but that one. Now every machine reading the tracker agrees that somebody is on it.

brew upgrade codeforbreakfast/tap/bdi
# or
cargo install beady-eye
The receipt printer is being wired by a seat in the back kitchen, on another machine, under a live claim. The sugar counter was claimed by a seat that has gone home. Only the sugar counter gets the warning.
Read the demo as text
spoon $ bdi --all
▾ spoon  ✓ 9s ago                                                                     1/7  1 agent  ⚠ 1
  ├── ○ spoon-1  The caff takes card payments                                                       1/4
  │   ├── ◐ .1       Wire the card reader to the till                                 ◍ wK:p2 · working
  │   ├── ◐ .2       Print the receipt on the bar printer
  │   └── ✓ .3       Price the menu in pence
  └── ○ spoon-2  The tea timer forgets the second sugar                                             0/3
      ├── ◐ .1       Count sugars per cup, not per order                       ⚠ claimed · no live pane
      └── ○ .2       Switch the timer to the new kettle firmware
  reading spoon, where bdi was started                               --all-projects reads every project
───────────────────────────────────────────────────────────────────────────────────────────────────────
  no pane · select a bead to see what is on it
a all   ? keys   / find   q quit

Two kitchens, one order book

The pane is still drawn only on the machine where it runs, so the back kitchen’s bead sits quietly on the front-of-house board with no pane beside it and no warning either. A claim stays live only while its holder renews it with bd heartbeat. Once the heartbeats stop, the claim is no longer live, and the eye goes back to flagging it. bdi --beads now lists each bead’s assignee and lease_expires_at, so you can see whose claim it is and how long it has left. Nothing needs changing to upgrade.

Notes on the ticket

bdi bd now passes comments add through, next to human respond and defer. It puts a comment on a bead in that project’s own tracker:

bdi bd spoon comments add spoon-1.2 -- the bar printer wants 80mm rolls

Waiting for the oven

bdi gates settles a gh:run gate. A bead waiting on a GitHub Actions workflow run is freed once the run succeeds or is skipped.

Clearing the plates

The container image runs bdi under tini, so a bdi gates container no longer collects zombie bd processes.

Two kitchens, one pass. Order up.

Cooked in the same kitchen

Code For Breakfast built this. It cooks for clients too.

Code For Breakfast Ltd is a UK software consultancy, based in Reading and working remote-first. The kitchen that made this ships well-tested software for clients, fast, and builds and operates real multi-agent AI systems.