Week Seven: Jido Enter Stage Left
A quieter week brings a new proposal for autonomous agents and goal-directed robot behaviour.
Some weeks you ship two feature releases and reorganise all the documentation. Other weeks you... don't. This is one of those weeks. But "no releases" doesn't mean "nothing happening."
Proposal: bb_jido
The most interesting development this week is Proposal 0009: bb_jido - integrating the Jido autonomous agent framework with Beam Bots.
If you read the Beyond Behaviour Trees post, you know we're using sagas (via bb_reactor) for structured workflows. Sagas are excellent when you know the sequence of steps upfront: pick up block, move to destination, place block. But what about when you don't?
"Pick up the red block" sounds simple until you realise the robot needs to:
- Figure out which block is red
- Decide how to approach it
- Handle the case where another robot got there first
- Adapt when the human moves it while you're reaching
This is where autonomous agents shine. Jido sits above our saga layer:
┌─────────────────────────────────────────────────┐
│ Jido Agent │
│ - Observes world state via BB sensors │
│ - Selects strategy based on context │
│ - Invokes workflows or commands │
├─────────────────────────────────────────────────┤
│ bb_reactor Workflows │
│ - Structured sequences with compensation │
├─────────────────────────────────────────────────┤
│ BB Commands │
│ - Direct robot control │
└─────────────────────────────────────────────────┘
The agent decides what to do. The saga decides how to do it. The commands make it happen.
Jido is event-driven (no polling loops), keeps agent logic pure (effects as directives, not side effects), and the core has zero LLM code - AI integration is optional via jido_ai. It fits our philosophy nicely.
The proposal is open for discussion. If you have thoughts on how goal-directed robot behaviour should work, now's the time to share them.
Proposals Still Open
Two proposals from last week are still under discussion:
- Proposal 0007: Usage Rules - LLM-friendly documentation standards
- Proposal 0008: bb_mavlink - MAVLink protocol for drones
What's Next
The SO-101 getting-started experience is still the priority. Once that's smooth, I can create videos that don't require expensive hardware.
The balance bot collaboration with Gus is progressing, but it's waiting on the Nerves Starter Kit design.
And bb_jido? That depends on how the proposal discussion goes.
Links
- bb on Hex (v0.15.0)
- Jido on Hex
- Proposals repo on GitHub
- Discord