%{
  title: "Jido Ecosystem Digest: March 2026",
  description: "Maintainer digest of Jido ecosystem activity for March 2026.",
  category: :docs,
  legacy_paths: [],
  tags: [:docs, :contributors, :ecosystem, :digest],
  order: 23,
  menu_label: "March 2026 Digest"
}
---

This digest summarizes public Jido ecosystem activity from March 1, 2026 through March 31, 2026. It is generated from the local ecosystem issue and pull request projection, then edited into a reviewable maintainer narrative.

## Activity Snapshot

| Metric | Count |
| --- | ---: |
| Merged pull requests | 298 |
| Closed issues | 147 |
| Active repositories with merged PRs | 14 |
| Human-authored merged PRs | 228 |
| Merged Dependabot pull requests | 67 |

## Pull Request Mix

| Category | Merged PRs |
| --- | ---: |
| Fixes | 92 |
| Features | 58 |
| Other | 58 |
| Dependency maintenance | 53 |
| Documentation | 18 |
| Refactors | 10 |
| Chores | 6 |
| CI and workflow | 3 |

## Top Repositories By Merged PRs

| Repo | Merged PRs |
| --- | ---: |
| `req_llm` | 85 |
| `jido_run` | 49 |
| `jido` | 46 |
| `jido_ai` | 40 |
| `llm_db` | 20 |
| `jido_action` | 18 |
| `llmdb_xyz` | 16 |
| `jido_signal` | 12 |
| `jido_browser` | 5 |
| `ash_jido` | 3 |
| `jido_messaging` | 1 |
| `jido_otel` | 1 |
| `jido_shell` | 1 |
| `jido_vfs` | 1 |

## Top Authors And Automation

| Author | Merged PRs |
| --- | ---: |
| `mikehostetler` | 110 |
| `app/dependabot` | 67 |
| `pcharbon70` | 38 |
| `jscheid` | 11 |
| `dl-alexandre` | 8 |
| `Munksgaard` | 5 |
| `paulorumor` | 4 |
| `app/github-actions` | 3 |
| `davydog187` | 3 |
| `lostbean` | 3 |
| `preciz` | 3 |
| `amacc002` | 2 |

## Summary

The busiest repositories were `req_llm`, `jido_run`, `jido`, `jido_ai`. Dependency maintenance accounted for 67 merged PRs, while human-authored changes accounted for 228. The largest category was fixes.
Closed issues were concentrated in `req_llm` (43), `jido_run` (38), `jido_ai` (31), `jido` (13), `llm_db` (7).

## Notable Merged Work

| Repo | PR | Author | Merged |
| --- | --- | --- | --- |
| `jido` | [jido#242 feat: replace tzdata with time_zone_info to remove hackney dependency](https://github.com/agentjido/jido/pull/242) | `dl-alexandre` | 2026-03-30 |
| `jido_ai` | [jido_ai#239 fix: incomplete response handling](https://github.com/agentjido/jido_ai/pull/239) | `pkgodara` | 2026-03-30 |
| `jido` | [jido#239 fix: expand plugin aliases in Pod macro before escaping](https://github.com/agentjido/jido/pull/239) | `Jdyn` | 2026-03-29 |
| `jido` | [jido#238 docs(spec): add release spec set and prep release quality](https://github.com/agentjido/jido/pull/238) | `mikehostetler` | 2026-03-28 |
| `jido_signal` | [jido_signal#130 fix: remove dead extension policy fallback](https://github.com/agentjido/jido_signal/pull/130) | `mikehostetler` | 2026-03-28 |
| `jido` | [jido#237 docs(spec): author Jido release subject map](https://github.com/agentjido/jido/pull/237) | `mikehostetler` | 2026-03-28 |
| `jido` | [jido#236 Docs: add Livebook buttons and refresh ecosystem deps](https://github.com/agentjido/jido/pull/236) | `mikehostetler` | 2026-03-28 |
| `jido` | [jido#235 Docs: add canonical Pod runtime example](https://github.com/agentjido/jido/pull/235) | `mikehostetler` | 2026-03-28 |
| `jido_signal` | [jido_signal#129 docs: add Spec Led contributor guidance](https://github.com/agentjido/jido_signal/pull/129) | `mikehostetler` | 2026-03-28 |
| `jido_action` | [jido_action#128 docs: add spec-led contributor guidance](https://github.com/agentjido/jido_action/pull/128) | `mikehostetler` | 2026-03-28 |
| `jido_ai` | [jido_ai#235 refactor(react): tighten queued control boundaries](https://github.com/agentjido/jido_ai/pull/235) | `mikehostetler` | 2026-03-28 |
| `jido_ai` | [jido_ai#238 refactor: remove ModelInput helper](https://github.com/agentjido/jido_ai/pull/238) | `mikehostetler` | 2026-03-28 |
| `jido` | [jido#233 Refactor pod extraction seams](https://github.com/agentjido/jido/pull/233) | `mikehostetler` | 2026-03-28 |
| `jido_ai` | [jido_ai#237 fix: preserve formatter imports during jido_ai.install](https://github.com/agentjido/jido_ai/pull/237) | `mikehostetler` | 2026-03-28 |
| `jido_action` | [jido_action#127 feat: complete spec-led migration](https://github.com/agentjido/jido_action/pull/127) | `mikehostetler` | 2026-03-27 |
| `jido` | [jido#218 feat: add partitioned multi-tenancy support](https://github.com/agentjido/jido/pull/218) | `mikehostetler` | 2026-03-27 |
| `jido_ai` | [jido_ai#234 fix(adaptive): preserve compatibility strings for raw failures](https://github.com/agentjido/jido_ai/pull/234) | `mikehostetler` | 2026-03-27 |
| `jido_ai` | [jido_ai#233 feat(request): enrich completed request metadata](https://github.com/agentjido/jido_ai/pull/233) | `mikehostetler` | 2026-03-27 |
| `jido_ai` | [jido_ai#223 fix(strategy): preserve raw error terms in snapshot result](https://github.com/agentjido/jido_ai/pull/223) | `jscheid` | 2026-03-27 |
| `req_llm` | [req_llm#572 fix(openai): retrieve structured output from tool call](https://github.com/agentjido/req_llm/pull/572) | `rverton` | 2026-03-27 |
| `jido_ai` | [jido_ai#225 feat(react): add queued mid-run steering controls](https://github.com/agentjido/jido_ai/pull/225) | `mikehostetler` | 2026-03-26 |
| `jido_ai` | [jido_ai#231 feat: split out reasoning lifecycle parity](https://github.com/agentjido/jido_ai/pull/231) | `mikehostetler` | 2026-03-26 |
| `jido_ai` | [jido_ai#230 feat: split out AI tool error contract](https://github.com/agentjido/jido_ai/pull/230) | `mikehostetler` | 2026-03-26 |
| `jido_ai` | [jido_ai#229 feat: split out AI observability core](https://github.com/agentjido/jido_ai/pull/229) | `mikehostetler` | 2026-03-26 |
| `jido` | [jido#224 Add pod agent wrapper topology](https://github.com/agentjido/jido/pull/224) | `mikehostetler` | 2026-03-25 |
| `jido_action` | [jido_action#126 refactor: make action error maps generic](https://github.com/agentjido/jido_action/pull/126) | `mikehostetler` | 2026-03-25 |
| `jido` | [jido#228 docs: clarify AI observability ownership](https://github.com/agentjido/jido/pull/228) | `mikehostetler` | 2026-03-25 |
| `req_llm` | [req_llm#567 docs: clarify structured tool result content](https://github.com/agentjido/req_llm/pull/567) | `mikehostetler` | 2026-03-25 |
| `req_llm` | [req_llm#554 feat: add mistral provider](https://github.com/agentjido/req_llm/pull/554) | `mikehostetler` | 2026-03-25 |
| `req_llm` | [req_llm#565 feat: add `thinkingLevel` support to Google provider](https://github.com/agentjido/req_llm/pull/565) | `tomtaylor` | 2026-03-25 |
| `req_llm` | [req_llm#566 feat: add `finch_request_adapter` config to modify streaming requests](https://github.com/agentjido/req_llm/pull/566) | `johantell` | 2026-03-25 |
| `llmdb_xyz` | [llmdb_xyz#37 fix: ignore non-version llm_db releases](https://github.com/agentjido/llmdb_xyz/pull/37) | `mikehostetler` | 2026-03-25 |
| `jido_ai` | [jido_ai#226 fix(tool_adapter): ensure modules are loaded before validating](https://github.com/agentjido/jido_ai/pull/226) | `Munksgaard` | 2026-03-25 |
| `llmdb_xyz` | [llmdb_xyz#36 fix: serialize production fly deploys](https://github.com/agentjido/llmdb_xyz/pull/36) | `mikehostetler` | 2026-03-25 |
| `jido` | [jido#227 fix: remove invalid doctest-style doc examples](https://github.com/agentjido/jido/pull/227) | `mikehostetler` | 2026-03-25 |

## Dependency Maintenance

Dependabot merged 67 PRs during March. The busiest repositories for dependency maintenance were:

| Repo | Dependabot PRs |
| --- | --- |
| `llmdb_xyz` | 13 |
| `req_llm` | 12 |
| `jido_action` | 11 |
| `llm_db` | 9 |
| `jido` | 7 |
| `jido_signal` | 7 |
| `jido_ai` | 4 |
| `jido_browser` | 2 |
| `jido_run` | 2 |

## Closed Issues

| Repo | Issue | Closed |
| --- | --- | --- |
| `jido` | [jido#241 Replace tzdata with time_zone_info to remove hackney dependency](https://github.com/agentjido/jido/issues/241) | 2026-03-30 |
| `jido` | [jido#229 Track mutable/dynamic pods as follow-up to base Pod runtime](https://github.com/agentjido/jido/issues/229) | 2026-03-28 |
| `jido_ai` | [jido_ai#236 jido_ai.install adds parentheses to Phoenix macro calls](https://github.com/agentjido/jido_ai/issues/236) | 2026-03-28 |
| `jido_ai` | [jido_ai#212 Allowing request headers to be passed to finch (streams)](https://github.com/agentjido/jido_ai/issues/212) | 2026-03-27 |
| `jido_ai` | [jido_ai#227 Track Jido.Agent generated-doc fix for Jido.AI.Agent Livebook imports](https://github.com/agentjido/jido_ai/issues/227) | 2026-03-27 |
| `jido_ai` | [jido_ai#228 Expose richer per-request reasoning metadata on Jido.AI request records](https://github.com/agentjido/jido_ai/issues/228) | 2026-03-27 |
| `jido_ai` | [jido_ai#224 Proposal: Turn/Steer via Per-Run PendingInputServer (GenServer)](https://github.com/agentjido/jido_ai/issues/224) | 2026-03-26 |
| `jido_ai` | [jido_ai#219 ReAct runner appears to suppress `:tool_started` signals](https://github.com/agentjido/jido_ai/issues/219) | 2026-03-26 |
| `jido_ai` | [jido_ai#210 Add telemetry hooks to calls](https://github.com/agentjido/jido_ai/issues/210) | 2026-03-26 |
| `req_llm` | [req_llm#203 [Feature]: Add Bumblebee Provider](https://github.com/agentjido/req_llm/issues/203) | 2026-03-25 |
| `req_llm` | [req_llm#359 [Feature]: Allow setting up Req Attachments without the need of using low level API](https://github.com/agentjido/req_llm/issues/359) | 2026-03-25 |
| `req_llm` | [req_llm#236 [Feature]: provde a mock provider like vercel ai](https://github.com/agentjido/req_llm/issues/236) | 2026-03-25 |
| `req_llm` | [req_llm#233 [Feature]: Refresh the model list myself](https://github.com/agentjido/req_llm/issues/233) | 2026-03-25 |
| `req_llm` | [req_llm#409 [Feature]: Add Mistral provider](https://github.com/agentjido/req_llm/issues/409) | 2026-03-25 |
| `req_llm` | [req_llm#475 [Feature]: Add LiteLLM provider](https://github.com/agentjido/req_llm/issues/475) | 2026-03-25 |
| `req_llm` | [req_llm#502 Add Anthropic defer_loading support for advanced tool use](https://github.com/agentjido/req_llm/issues/502) | 2026-03-25 |
| `req_llm` | [req_llm#564 [Feature]: Support Gemini 3 `thinkingLevel` parameter](https://github.com/agentjido/req_llm/issues/564) | 2026-03-25 |
| `jido_otel` | [jido_otel#7 Bump jido to ~> 2.1](https://github.com/agentjido/jido_otel/issues/7) | 2026-03-25 |
| `jido_signal` | [jido_signal#125 [Feature]: Add compile-time declared extension requirements to `use Jido.Signal`](https://github.com/agentjido/jido_signal/issues/125) | 2026-03-25 |
| `req_llm` | [req_llm#476 [Feature]: Research and add OpenAI WebSocket support (Responses API + Realtime)](https://github.com/agentjido/req_llm/issues/476) | 2026-03-25 |
| `req_llm` | [req_llm#369 [Feature]: Google cost calculation should use correct price when token count is > 200k](https://github.com/agentjido/req_llm/issues/369) | 2026-03-25 |
| `req_llm` | [req_llm#289 [Meta]: Library Policy on Pricing Data and Cost Calculation Accuracy](https://github.com/agentjido/req_llm/issues/289) | 2026-03-25 |
| `req_llm` | [req_llm#257 [Feature]: OpenTelemetry stubs for model calls](https://github.com/agentjido/req_llm/issues/257) | 2026-03-25 |
| `jido` | [jido#226 Generated Jido.Agent docs produce invalid doctests in consuming modules](https://github.com/agentjido/jido/issues/226) | 2026-03-25 |
| `req_llm` | [req_llm#358 [Feature]: Relax strict model verification to support unknown/new models and proxies](https://github.com/agentjido/req_llm/issues/358) | 2026-03-25 |
| `req_llm` | [req_llm#190 Add reranking API support with batch processing](https://github.com/agentjido/req_llm/issues/190) | 2026-03-25 |
| `req_llm` | [req_llm#259 [Feature]: Support video_url for multimodal messages](https://github.com/agentjido/req_llm/issues/259) | 2026-03-25 |
| `req_llm` | [req_llm#154 Fixture system broken for consuming applications after PR #141](https://github.com/agentjido/req_llm/issues/154) | 2026-03-25 |
| `req_llm` | [req_llm#370 [Feature]: Make sure that new pricing structure for Google/OpenAI/xAI/Anthropic works with 3rd party providers](https://github.com/agentjido/req_llm/issues/370) | 2026-03-24 |
| `req_llm` | [req_llm#363 [Feature]: Google Imagen models support](https://github.com/agentjido/req_llm/issues/363) | 2026-03-24 |

## Merge Pace

| Central Day | Merged PRs |
| --- | ---: |
| 2026-03-01 | 1 |
| 2026-03-02 | 13 |
| 2026-03-03 | 5 |
| 2026-03-04 | 6 |
| 2026-03-06 | 3 |
| 2026-03-09 | 41 |
| 2026-03-12 | 2 |
| 2026-03-13 | 7 |
| 2026-03-14 | 39 |
| 2026-03-15 | 25 |
| 2026-03-16 | 19 |
| 2026-03-17 | 6 |
| 2026-03-18 | 6 |
| 2026-03-19 | 4 |
| 2026-03-20 | 8 |
| 2026-03-21 | 2 |
| 2026-03-22 | 14 |
| 2026-03-23 | 12 |
| 2026-03-24 | 14 |
| 2026-03-25 | 25 |
| 2026-03-26 | 11 |
| 2026-03-27 | 8 |
| 2026-03-28 | 12 |
| 2026-03-29 | 1 |
| 2026-03-30 | 14 |

## Data Notes

- Window: March 1, 2026 through March 31, 2026, using US Central calendar boundaries.
- Source: local `data/jido.sqlite` issue and pull request projection.
- Latest full ecosystem sync used by this draft: `2026-05-15T14:10:41Z`.
- Latest targeted sync in the local projection: `2026-05-15T14:18:03Z`.
- This page is a draft digest for maintainer review before publication.
