Open source
Fixes and features merged upstream in the Ruby & AI libraries I build on.
Most of my open-source work goes into the projects my own Rails and AI code depends on — RubyLLM and ActiveAgent today, React on Rails and Rails-ecosystem gems before that. The common thread is reliability: cancellation and concurrent tools, provider protocols, attachments, structured output, tracing, evals and cost accounting, and making it all behave inside a Rails app.
Verified on 3 Nov 2026 · Selected merged PRs below.
Cancellation & concurrency
Provider protocols
Tool calls
Attachments & multimodal
Structured output
Caching & cost accounting
Performance
Tracing
Evals
Rails integration
RubyLLM
crmne/ruby_llm · 35 merged · 2026
One Ruby API for OpenAI, Anthropic, Gemini and other providers, with Rails persistence built in.
All merged PRs →
#1326 Propagate chat cancellation to child fibers and Async tasks
#1328 Stop fiber tool workers and finish cleanup when their parent is cancelled
#1329 Report tool-worker context failures without hanging the caller
#1330 Test cancellation cleanup and reuse of chats and MCP clients
#1248 Continue Gemini long-decode responses within a single assistant turn
#1247 Preserve native client-toolset identity through dispatch, results and Rails storage
#1273 Preserve Cohere reasoning token counts in buffered and streamed replies
#1275 Keep response models on moderation, rerank and judgment spans
#1082 Static and agentic processing modes for Gemini video attachments
#1069 Apply persisted prompt-cache boundaries to the next request
ActiveAgent
activeagents/activeagent · 19 merged · 2026
A Rails framework for building AI agents.
All merged PRs →
#664 Claim a pending run atomically, so a duplicate job can't execute it twice
#665 Record client-side MCP tool calls in eval replays
#637 Keep scenario catalog extension fields through export, digests and the dashboard
#635 Finish the trace view gaps: dark-mode tools and time window, bounded console limit
#614 Prevent overlapping evaluation jobs from scoring twice
#632 Restore Rails browser previews for generated agents
#631 Make the trace console usable without external assets or JavaScript
#615 Report full-window trace totals and correctly weighted latency
#616 Route pinned evaluation judge models to the matching provider
#511 Finish RubyLLM 2.x support: usage, streaming and protocol options
React on Rails
shakacode/react_on_rails · 8 merged · 2015–2016
React components in Rails, with server rendering. Early contributions to the install generator and project docs.
All merged PRs →
#144 Stop the generator from overwriting application.js
#161 Clearer --help output for the install generator
#152 Start the project CHANGELOG from past release notes
#171 Remove the jquery_ujs dependency
Ruby & Rails ecosystem
13 merged across 10 projects · 2014–2026
A fix in Rails itself, plus Rails upgrade fixes, admin tooling and LLM integrations in smaller gems.
#59442 Rails — fix savepoint rollback through the Ractor connection proxy after before_commit
#347 Langchain.rb — add ask() to the ActiveRecord hooks
#73 kt-paperclip — Rails 7 fix for AttachmentSizeValidator
#8 carmen-rails — Rails 7 version detection
#8 Administrate Batch Actions — toggle action buttons from the selection (4 merged)
#62 Talorys — skip the real Wrangler test when templates aren't built
Full merged PR history on GitHub →