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

This digest summarizes public Jido ecosystem activity from February 1, 2026 through February 28, 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 | 243 |
| Closed issues | 121 |
| Active repositories with merged PRs | 16 |
| Human-authored merged PRs | 209 |
| Merged Dependabot pull requests | 26 |

## Pull Request Mix

| Category | Merged PRs |
| --- | ---: |
| Fixes | 111 |
| Features | 45 |
| Chores | 26 |
| Dependency maintenance | 21 |
| Other | 16 |
| Documentation | 11 |
| Refactors | 11 |
| CI and workflow | 2 |

## Top Repositories By Merged PRs

| Repo | Merged PRs |
| --- | ---: |
| `req_llm` | 51 |
| `jido` | 47 |
| `jido_signal` | 39 |
| `jido_action` | 25 |
| `jido_ai` | 23 |
| `llm_db` | 20 |
| `jido_shell` | 10 |
| `jido_browser` | 9 |
| `jido_vfs` | 5 |
| `llmdb_xyz` | 4 |
| `jido_run` | 3 |
| `jido_otel` | 2 |
| `jido_runic` | 2 |
| `github-actions` | 1 |
| `jido_lib` | 1 |

## Top Authors And Automation

| Author | Merged PRs |
| --- | ---: |
| `mikehostetler` | 151 |
| `app/dependabot` | 26 |
| `app/github-actions` | 8 |
| `shelvick` | 7 |
| `ycastorium` | 7 |
| `Nickcom4` | 6 |
| `stevehodgkiss` | 5 |
| `AdwayKasture` | 4 |
| `nshkrdotcom` | 3 |
| `vkryukov` | 3 |
| `dannote` | 2 |
| `lostbean` | 2 |

## Summary

The busiest repositories were `req_llm`, `jido`, `jido_signal`, `jido_action`. Dependency maintenance accounted for 26 merged PRs, while human-authored changes accounted for 209. The largest category was fixes.
Closed issues were concentrated in `jido_ai` (21), `jido` (19), `jido_action` (15), `req_llm` (15), `jido_signal` (13).

## Notable Merged Work

| Repo | PR | Author | Merged |
| --- | --- | --- | --- |
| `jido_lib` | [jido_lib#2 feat(docs-pipeline): source grounding, compiler gate, and pipeline fixes](https://github.com/agentjido/jido_lib/pull/2) | `jmanhype` | 2026-02-28 |
| `jido_ai` | [jido_ai#176 docs: add action description to AddNumbers examples in README and first_react_agent guide](https://github.com/agentjido/jido_ai/pull/176) | `oallanmendes` | 2026-02-28 |
| `jido_shell` | [jido_shell#19 feat(guardrails): enforce workflows and formalize extension path](https://github.com/agentjido/jido_shell/pull/19) | `mikehostetler` | 2026-02-27 |
| `jido` | [jido#178 fix(observe): harden sync and async tracer span semantics](https://github.com/agentjido/jido/pull/178) | `mikehostetler` | 2026-02-27 |
| `jido_ai` | [jido_ai#172 feat: add effect policy gating and runtime tool-effect application](https://github.com/agentjido/jido_ai/pull/172) | `mikehostetler` | 2026-02-27 |
| `jido_action` | [jido_action#108 feat(schema): support plain JSON Schema maps as action schemas](https://github.com/agentjido/jido_action/pull/108) | `dannote` | 2026-02-27 |
| `jido_signal` | [jido_signal#117 feat(dispatch): implement bus dispatch adapter](https://github.com/agentjido/jido_signal/pull/117) | `mikehostetler` | 2026-02-27 |
| `req_llm` | [req_llm#463 fix: Fixes sse in case of server failure](https://github.com/agentjido/req_llm/pull/463) | `ycastorium` | 2026-02-27 |
| `llm_db` | [llm_db#129 feat: add spec-aware history sync API and runtime reader](https://github.com/agentjido/llm_db/pull/129) | `mikehostetler` | 2026-02-27 |
| `req_llm` | [req_llm#471 fix: exclude embedding return_usage from provider transport options](https://github.com/agentjido/req_llm/pull/471) | `mikehostetler` | 2026-02-27 |
| `req_llm` | [req_llm#466 feat: Uses the same Finch Pool for streaming/non-streaming](https://github.com/agentjido/req_llm/pull/466) | `ycastorium` | 2026-02-27 |
| `req_llm` | [req_llm#459 fix: normalize nested string-key tool arguments safely](https://github.com/agentjido/req_llm/pull/459) | `mikehostetler` | 2026-02-27 |
| `req_llm` | [req_llm#444 feat: Add Usage to Embeddings](https://github.com/agentjido/req_llm/pull/444) | `ycastorium` | 2026-02-27 |
| `req_llm` | [req_llm#446 fix: ReqLLM embed should use embedding schema, not generation](https://github.com/agentjido/req_llm/pull/446) | `ycastorium` | 2026-02-27 |
| `req_llm` | [req_llm#450 feat: add response_format to Vertex AI provider schema for OpenAI-compat MaaS models](https://github.com/agentjido/req_llm/pull/450) | `shelvick` | 2026-02-27 |
| `req_llm` | [req_llm#451 fix: handle API error responses in Vertex AI OpenAI-compat endpoint](https://github.com/agentjido/req_llm/pull/451) | `shelvick` | 2026-02-27 |
| `req_llm` | [req_llm#449 fix(bedrock): update inference profile prefixes](https://github.com/agentjido/req_llm/pull/449) | `stevehodgkiss` | 2026-02-27 |
| `req_llm` | [req_llm#464 fix: stream usage loses message_start token counts when message_delta arrives](https://github.com/agentjido/req_llm/pull/464) | `stevehodgkiss` | 2026-02-27 |
| `req_llm` | [req_llm#454 fix: encode tool outputs inline in Responses API input array](https://github.com/agentjido/req_llm/pull/454) | `amacc002` | 2026-02-27 |
| `req_llm` | [req_llm#453 fix: only add cache_control to last tool in Anthropic prompt caching](https://github.com/agentjido/req_llm/pull/453) | `tomtrin` | 2026-02-27 |
| `req_llm` | [req_llm#460 fix: remove $schema and additionalProperties recursively in to_google_format](https://github.com/agentjido/req_llm/pull/460) | `jfpedroza` | 2026-02-27 |
| `req_llm` | [req_llm#468 feat: pass anthropic_beta through Bedrock to request body](https://github.com/agentjido/req_llm/pull/468) | `stevehodgkiss` | 2026-02-27 |
| `req_llm` | [req_llm#469 fix: allow max_retries to be 0 to disable retries](https://github.com/agentjido/req_llm/pull/469) | `stevehodgkiss` | 2026-02-27 |
| `req_llm` | [req_llm#467 docs: add JSONSpec as parameter_schema option](https://github.com/agentjido/req_llm/pull/467) | `dannote` | 2026-02-27 |
| `llm_db` | [llm_db#130 fix(spec): use amazon_bedrock provider and add missing inference profile prefixes](https://github.com/agentjido/llm_db/pull/130) | `stevehodgkiss` | 2026-02-27 |
| `llm_db` | [llm_db#132 feat: Use canonical costs for dated models](https://github.com/agentjido/llm_db/pull/132) | `ycastorium` | 2026-02-27 |
| `jido_action` | [jido_action#107 fix: safe inspect struct truncation](https://github.com/agentjido/jido_action/pull/107) | `roeeyn` | 2026-02-27 |
| `jido_ai` | [jido_ai#171 fix(react): forward llm opts and http options end-to-end](https://github.com/agentjido/jido_ai/pull/171) | `mikehostetler` | 2026-02-25 |
| `jido_action` | [jido_action#103 fix(exec): avoid malformed struct inspection in telemetry sanitizer](https://github.com/agentjido/jido_action/pull/103) | `pcharbon70` | 2026-02-25 |
| `jido_run` | [jido_run#22 feat(blog): migrate blog storage to phoenix_blog](https://github.com/agentjido/jido_run/pull/22) | `mikehostetler` | 2026-02-24 |
| `jido` | [jido#175 docs(readme): add signal_routes to AgentServer quick start](https://github.com/agentjido/jido/pull/175) | `mikehostetler` | 2026-02-23 |
| `jido` | [jido#171 fix(agent_server): loop back emit without dispatch to current agent](https://github.com/agentjido/jido/pull/171) | `mikehostetler` | 2026-02-22 |
| `jido` | [jido#170 fix(agent): restore compile-time signal_routes and preserve callback compatibility](https://github.com/agentjido/jido/pull/170) | `mikehostetler` | 2026-02-21 |
| `req_llm` | [req_llm#439 docs: add Installation section with Igniter instructions](https://github.com/agentjido/req_llm/pull/439) | `Nickcom4` | 2026-02-20 |
| `req_llm` | [req_llm#442 fix: omit mimeType from fileData for YouTube and extensionless URLs](https://github.com/agentjido/req_llm/pull/442) | `Nickcom4` | 2026-02-20 |

## Dependency Maintenance

Dependabot merged 26 PRs during February. The busiest repositories for dependency maintenance were:

| Repo | Dependabot PRs |
| --- | --- |
| `req_llm` | 6 |
| `jido_browser` | 4 |
| `jido_signal` | 4 |
| `llmdb_xyz` | 4 |
| `jido` | 3 |
| `jido_ai` | 2 |
| `llm_db` | 2 |
| `jido_run` | 1 |

## Closed Issues

| Repo | Issue | Closed |
| --- | --- | --- |
| `jido_messaging` | [jido_messaging#1 RFC: Benchmark API Ergonomics Against Vercel Chat SDK](https://github.com/agentjido/jido_messaging/issues/1) | 2026-02-28 |
| `jido_messaging` | [jido_messaging#2 RFC: Runtime-Only Boundary Contract for jido_messaging](https://github.com/agentjido/jido_messaging/issues/2) | 2026-02-28 |
| `jido_messaging` | [jido_messaging#3 RFC: Migration Strategy to Consume Jido.Chat Core Types](https://github.com/agentjido/jido_messaging/issues/3) | 2026-02-28 |
| `jido_messaging` | [jido_messaging#4 RFC: Platform Adapter Extraction and Compatibility Plan](https://github.com/agentjido/jido_messaging/issues/4) | 2026-02-28 |
| `jido_messaging` | [jido_messaging#5 RFC: CI Guardrails for SDK/Runtime Boundary Enforcement](https://github.com/agentjido/jido_messaging/issues/5) | 2026-02-28 |
| `jido_chat` | [jido_chat#1 RFC: Package Boundaries and Public API Contract for jido_chat](https://github.com/agentjido/jido_chat/issues/1) | 2026-02-28 |
| `jido_chat` | [jido_chat#2 RFC: Core Module Migration Map to Jido.Chat Namespace](https://github.com/agentjido/jido_chat/issues/2) | 2026-02-28 |
| `jido_chat` | [jido_chat#3 RFC: Adapter Contract and Capability Conformance Suite](https://github.com/agentjido/jido_chat/issues/3) | 2026-02-28 |
| `jido_chat` | [jido_chat#4 RFC: SDK Documentation and Alpha Release Readiness](https://github.com/agentjido/jido_chat/issues/4) | 2026-02-28 |
| `jido_ai` | [jido_ai#174 ReqLLM.Error.Validation.Error - invalid value for :description option when starting Jido.AI agent](https://github.com/agentjido/jido_ai/issues/174) | 2026-02-28 |
| `jido_vfs` | [jido_vfs#6 test(sprite): expand command primitive probe coverage + typed failure paths](https://github.com/agentjido/jido_vfs/issues/6) | 2026-02-27 |
| `jido_vfs` | [jido_vfs#5 chore: add adapter onboarding checklist + metadata callback guardrails](https://github.com/agentjido/jido_vfs/issues/5) | 2026-02-27 |
| `jido_shell` | [jido_shell#16 docs/test: formalize guardrail extension path for future namespace conventions](https://github.com/agentjido/jido_shell/issues/16) | 2026-02-27 |
| `jido_shell` | [jido_shell#15 chore: enforce jido_shell guardrails in generator/script workflows](https://github.com/agentjido/jido_shell/issues/15) | 2026-02-27 |
| `jido_vfs` | [jido_vfs#4 chore: align jido_vfs with ecosystem baseline policy](https://github.com/agentjido/jido_vfs/issues/4) | 2026-02-27 |
| `jido_vfs` | [jido_vfs#3 feat: Sprite VFS adapter - filesystem operations on Fly.io Sprites](https://github.com/agentjido/jido_vfs/issues/3) | 2026-02-27 |
| `jido_shell` | [jido_shell#14 Bug: ShellSession.stop/1 returns :ok even when session doesn't exist](https://github.com/agentjido/jido_shell/issues/14) | 2026-02-27 |
| `jido` | [jido#176 observe: add scoped tracer callback path for OTP-safe sync spans](https://github.com/agentjido/jido/issues/176) | 2026-02-27 |
| `llmdb_xyz` | [llmdb_xyz#19 Ship llm_db history in llmdb_xyz (API + timeline UI)](https://github.com/agentjido/llmdb_xyz/issues/19) | 2026-02-27 |
| `req_llm` | [req_llm#462 [Bug]: Streaming SSE buffer not flushed on finalization](https://github.com/agentjido/req_llm/issues/462) | 2026-02-27 |
| `req_llm` | [req_llm#465 [Feature]: Use the same Finch pool for streaming/non-streaming](https://github.com/agentjido/req_llm/issues/465) | 2026-02-27 |
| `req_llm` | [req_llm#443 [Feature]: ReqLLM.embed should also return usage](https://github.com/agentjido/req_llm/issues/443) | 2026-02-27 |
| `req_llm` | [req_llm#445 [Bug]: ReqLLM.embed is using the wrong operation schema](https://github.com/agentjido/req_llm/issues/445) | 2026-02-27 |
| `req_llm` | [req_llm#455 [Bug]: Responses API build_request_body drops tool outputs from earlier rounds in multi-turn tool calling](https://github.com/agentjido/req_llm/issues/455) | 2026-02-27 |
| `req_llm` | [req_llm#452 [Bug] Anthropic prompt caching adds cache_control to every tool instead of last tool only](https://github.com/agentjido/req_llm/issues/452) | 2026-02-27 |
| `llm_db` | [llm_db#131 Use canonical model costs in dated models](https://github.com/agentjido/llm_db/issues/131) | 2026-02-27 |
| `jido_action` | [jido_action#106 [Bug]: `safe_inspect` preserves `__struct__` tags on truncated data, crashing Inspect protocol implementations](https://github.com/agentjido/jido_action/issues/106) | 2026-02-27 |
| `jido` | [jido#174 RoutingError when calling AgentServer - "No route for signal"](https://github.com/agentjido/jido/issues/174) | 2026-02-23 |
| `jido_run` | [jido_run#19 Stars to ecosystem pages](https://github.com/agentjido/jido_run/issues/19) | 2026-02-23 |
| `jido` | [jido#157 Deep quality review: 8 outstanding issues (P1-P3)](https://github.com/agentjido/jido/issues/157) | 2026-02-21 |

## Merge Pace

| Central Day | Merged PRs |
| --- | ---: |
| 2026-02-01 | 4 |
| 2026-02-02 | 10 |
| 2026-02-04 | 9 |
| 2026-02-05 | 1 |
| 2026-02-06 | 13 |
| 2026-02-08 | 6 |
| 2026-02-09 | 1 |
| 2026-02-11 | 3 |
| 2026-02-12 | 6 |
| 2026-02-13 | 23 |
| 2026-02-14 | 54 |
| 2026-02-16 | 39 |
| 2026-02-17 | 1 |
| 2026-02-19 | 6 |
| 2026-02-20 | 18 |
| 2026-02-21 | 1 |
| 2026-02-22 | 1 |
| 2026-02-23 | 4 |
| 2026-02-24 | 1 |
| 2026-02-25 | 2 |
| 2026-02-27 | 37 |
| 2026-02-28 | 3 |

## Data Notes

- Window: February 1, 2026 through February 28, 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.
