Proposal 0009: align bb_jido with Jido v2.2#15
Merged
Conversation
Jido v2.0 (Feb 2026) and follow-ups landed several breaking changes
after the proposal was accepted:
- `actions:` option removed from `use Jido.Agent`; capabilities now
live inside Plugins (Skill→Plugin rename)
- `handle_instruction/2` and `handle_signal/2` agent callbacks gone;
replaced by `signal_routes:` plus `Jido.Plugin.handle_signal/2`
- `Jido.Agent.run_action/3` no longer public; agents use `cmd/2`
(pure) or signal dispatch through `AgentServer`
- Instance-scoped supervision: `{Jido, name: MyApp.Jido}` plus
`Jido.start_agent/3`
- Built-in actions moved from `Jido.Actions.*` to `Jido.Tools.*`
- `jido_action` and `jido_signal` now standalone packages
Revises the worked examples (Manipulator, Coordinator, Simple Agent,
AI Planning, supervision), introduces `BB.Jido.Plugin.Robot` as the
v0.1 integration surface (replacing the `BB.Jido.Agent` macro), bumps
the version pin to `~> 2.2`, expands the API corrections table, and
resolves open question #8 (sensors vs PubSubBridge).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Jido v2.0 (Feb 2026), v2.1 (March 2026), and v2.2 (March 2026) landed several breaking changes between acceptance of proposal 0009 and the start of implementation. This PR revises the proposal in place so the code sketches compile against current Jido.
Key changes
actions:fromuse Jido.Agent; capabilities now live inside Plugins (the v2 rename of "Skills"). The proposal'sBB.Jido.Agentmacro is replaced byBB.Jido.Plugin.Robot, which owns robot state, default actions, defaultbb.*signal routes, and mounts thePubSubBridgefor its agent.handle_instruction/2andhandle_signal/2on agents are gone. Worked examples (Manipulator, Coordinator) now usesignal_routes:mappings plusJido.Plugin.handle_signal/2pre-routing hooks, with actions emitting%Jido.Directive.Emit{…}to chain steps.{Jido, name: MyApp.Jido}and useJido.start_agent/3— reflected in the Supervised in Application example.jido_aiv2 exposes planning as plain Jido Actions (Jido.AI.Actions.Planning.Planetc.) rather thanJido.AI.plan/2. The SmartAgent example now attaches aPlannerPlugin.{:jido, "~> 2.2"}and{:jido_ai, "~> 2.1"}. Note Elixir~> 1.18requirement.Test plan
BB.Jido.Plugin.Robotshape against the latestJido.Pluginmacro docsbb.*signal route names are stable enough for downstream packages to depend onJido.Directive.Emitsemanticspipx run reuse lint(passing locally)