• RoboRuby
  • Posts
  • Ruby AI News - August 21st, 2026

Ruby AI News - August 21st, 2026

Benchmarks, harnesses, and boundaries

Welcome to the 36th edition of Ruby AI News! This edition features the first official numbers on which models write the best Rails code, a Ruby-native agent harness built to replace Claude Code, executable architecture specifications that keep agent-written code inside the lines, and much more.

Thank you to SerpApi, the world’s leading API provider of search data, for sponsoring this edition. They recently announced that you can fetch any search from their API in Markdown format. I’ve been using SerpApi in my AI workflows, and I’m incredibly happy with the results. Be sure to check out their careers page, they’re hiring!

Contents

Top Stories

Benchmarks on Rails

Rails has official model benchmarks now. On August 12th the Rails Foundation announced Agents on Rails, a benchmark of coding agents on real Rails applications, designed and run by Evil Martians, and the first report, written by Martians Svyatoslav Kryukov and Artur Petrov, followed a day later. Eight models ran 21 atomic tasks against Basecamp's Writebook, each written the way work actually arrives, a bug report, a security finding, a feature request. Claude Opus 5 took accuracy by a hair at 92%, with Kimi K3 and Claude Fable 5 one solved run behind. GPT-5.6 Luna finished a median task in 3.3 minutes and ran its entire 63-run campaign for under a dollar, while GPT-5.6 Sol posted the best blend of all three at 84% accuracy, five minutes, and 52 cents a run. The most surprising finding was that models reached for real Rails APIs in as few as 8% of runs (DeepSeek) and at most 35% (Fable), yet runs that leaned on the framework passed 92% of the time against 87% for hand-rolled code. The models are good at Ruby, but they still sometimes reinvent what Rails already ships.

Just four days later the leaderboard was updated with Grok 4.6, GLM 5.3, Gemini 3.7 Flash, and Claude Opus 4.8, and none of them cracked the top spots. Grok 4.6 came closest, fourth in accuracy right behind Sol at 60% less cost than Opus, with frontier-tier Rails API recall. GLM 5.3 reran the test suite around twenty times per task where everyone else runs it three to six, and Gemini 3.7 Flash became the second model caught refusing a task. Everything behind the numbers is public. rails/ai-evals holds the task corpus, hidden verification tests that grade behavior rather than implementation, and a canary GUID to keep it all out of training data, the full traces of both rounds, every command, diff, and verdict, are up to explore, and lemans, the Ruby harness the Martians built for the project, is available as a gem now. It all feeds rubyonrails.org/ai, a permanent page pairing the leaderboard, twelve models across six metrics, with the case for Rails as an agent stack, convention over configuration, token efficiency, quality training data, and the one person framework.

When we covered the Evil Martians’ scorecard launch in June, Irina Nazarova's line was that the problem is discoverability, not capability, and the Martians traced this benchmark straight back to that visibility analysis, where models picked Ruby zero times out of 1,267 solutions across 13 models. The living scorecard now grades 93 ecosystem resources on crawler access, sitemaps, and llms.txt support, the fix is often as simple as docs in an open repo with a permissive license, and the needle is moving, with guides.rubygems.org crediting the scorecard for this month's overhaul (see Articles). Victoria Melnikova added one sentence naming Evil Martians to their 100+ open source READMEs after Irina's research on LLMs as a customer acquisition channel, a reminder that visibility compounds for companies, not just languages. The Martians call the project a dream collaboration with the Rails Foundation, and this is only stage one. Atomic tasks came first, multi-step realistic work, adding features and building an app from scratch, comes next. Rails finally has official data that it works with agents, and the scoreboard is just getting started.

Taking the Reins

Obie Fernandez released Terret 0.1.0, a Ruby framework for running AI agents tied to no particular model provider, twelve gems shipped in lockstep three days after the repository first appeared. The framing is clean: an agent is a language model in a loop, the model reads a conversation and asks for tools, the harness runs them and writes the results back, and Terret is everything around that loop. Every piece of the machinery, the session log, the tools pipeline, the loop itself, the model adapter, the sandbox, is a row in a YAML config you can swap, as Obie put it, "just like Pi and DeepSeek Harness, except written in beautiful Ruby." Thoughtfully named, as a terret is the ring on a horse harness that the driving reins pass through, the small piece that lets one driver guide any horse.

Underneath sits Hames, a plugin microkernel in four files with no dependencies beyond the standard library and nothing in it that mentions language models. Services boot in an order derived from their declared dependencies, everything a plugin installs returns a disposer that can undo it, events are typed with four dispatch modes, and configuration hot reloads atomically with rollback on failure. Terret builds the agent on top. The durable session log lands one event per row in SQLite with gapless sequence numbers, so a client that reconnects gets exact replay of its history and then the live stream, and around it sit durable approvals, subagents, compaction through Morph's Compact API, an MCP client, an Agent Client Protocol server so editors can drive it, a Docker execution sandbox, and standard tools that reuse Claude Code's names verbatim, Read, Write, and friends, so models already know how to hold them.

For a 0.1.0 the documentation is impressive, with a kernel primer, a cookbook whose recipes take an empty gem to a registered tool with tests, a wire protocol spec, and a public plan with milestones M0 through M8 shipped and the accepted technical debt itemized. That is because it is not a toy. The release notes say priorities came from serious real-world usage at ZAR, the fintech where Obie is CTO, and he has said the goal is to swap Claude Code out of their agent platform for it. The harnesses are arriving in numbers now, with Terret joining Nexo, Chaos, and Lemans in this edition alone. This one showed up with a Ruby microkernel worth building on.

Executable Opinions

Carmine Paolino opened with the question hanging over every AI-assisted codebase. More and more code is written by AI, so how do you know it follows your architecture? His answer is ArchSpec 1.0, executable architecture specifications for Ruby and Rails, from the creator of RubyLLM. It reads your source with Prism, no app boot, no database, and no AI anywhere in the loop, and it moves, checking Discourse's 1,899 files in 2.5 seconds, fast enough for CI, a git hook, and every change an agent makes. Adoption starts at one line. Write architecture :vanilla_rails in an Archspec.rb and every commit gets checked against it.

The nine bundled architectures run from vanilla Rails through layered, hexagonal, clean, CQRS, event driven, and modular monolith, and where presets don't fit, the rules compose in plain Ruby. Dependency direction like models.cannot_use :controllers, forbidden calls and constants, naming and protocol contracts, cycle detection, per-directory components for engines and packs, and an ArchSpec.define API for building definitions programmatically. Every violation reports its rule id, the offending code, and the evidence, inline suppressions require a written reason, and a todo baseline plus archspec explain give an existing codebase a migration path rather than a wall of red. The docs' advice is to treat Archspec.rb like test code, every rule a boundary the team actually commits to.

Vladimir Dementyev dropped an endorsement for the library, stating “one thing is to drop a bunch of MDs and pray that your agent will follow the constraints, but having a static analysis tool to truly enforce them is totally different”, and the new release of his layered-rails skills ships an ArchSpec setup workflow that turns the Layered Design book's rules into locked boundaries. The division of labor is instructive, the skill classifies code by purpose and makes the judgment calls, ArchSpec classifies by path and holds the mechanical line. It fits right into this edition's running theme. The benchmarks pick the model and the harnesses run the agents, and now whatever they write, the architecture has an inspector on every commit.

Need to Know AI News

Relationship Engineering: The Fifth Phase of Building With AI Daniel Tenner traced building with AI through prompt, context, agentic, and harness engineering, then named the fifth phase. The primary concept becomes the relationship with a persistent agent, because guardrails control blank slates while trust lets judgment develop.

Turn One Giant AI-Generated Pull Request Into a Reviewable Stack Julia Muiruri of GitHub broke a 1,700 line agent-written PR into four stacked pull requests with the gh-stack extension, each layer CI-checked and reviewable on its own. Her rule for stacks reads review bottom up, read top down.

Who Told the Agent It Could Spend? Soheima Canton of the Agentic AI Foundation walked through what MCP's stateless sessions mean for agent payments. OAuth proves who the agent acts for while wallet policies cap what it may pay, and an x402 gateway enforces payment proof before a paid tool runs.

The Specification Is Not a Document Chad Fowler continued his Phoenix Architecture series, arguing a system's durable knowledge is a queryable graph of claims, evidence, and decisions, not one document. Deleting and regenerating a component tests that knowledge, and whatever comes back missing was still trapped in the implementation.

How ABC Legal Turned Every Employee Into a Builder With Claude Managed Agents Anthropic profiled the 1,100-person legal services company whose 50+ production agents were mostly built by non-developers. Agents live as prompts and configs in git, earn trust before acting alone, and cut costs roughly in half on the tasks they cover.

Content

Announcements

Full Control Over Your Hatchbox Infrastructure, From Chat Chris Oliver announced an MCP server for his Rails hosting platform, letting Claude deploy apps, manage databases, domains, and env vars, and tail logs. Paired with GitHub it catches drift between pushed and deployed commits, and write operations are clearly labeled.

Chaos Abdelkader Boudih and Daniel Tenner kept evolving their fork of OpenAI's Codex CLI, a lighter, vendor-agnostic coding agent. It runs OpenAI, Anthropic, and local models, keeps MCP tools client side so every model gets the same toolbox, and gets by on about 80 MB of RAM.

Omakase Eugeny released an agent framework on RubyLLM in roughly 800 lines that treats agents as plain Ruby objects. Fields are state, methods are tools, and a method declared without a body is written by the model at runtime. Version 0.2 added MCP servers, skill directories, and offline tests.

wide_events Adam Miribyan released a Rails gem that captures each request or job as one dense, high-cardinality telemetry event so a coding agent can query one row instead of stitching together logs. Feature flags, token usage, costs, and query counts ride on the OpenTelemetry root span, or a single JSON log line if you have no tracing.

equipr Mario Alberto Chávez observed that Claude has a skill marketplace and the rest do not, so he built the one tool to rule them all. A single binary installs skills, commands, and MCP servers into Claude Code, Codex, OpenCode, and Pi, absorbing how each agent stores things.

Rails UI in the AI Era Andy Leverenz repositioned Rails UI for AI-written apps. A model scaffolds working code but screens drift and UX states go missing, so Rails UI supplies the product judgment as app kits, components, and a design language your assistant inherits, with an llms.txt map for Cursor, Claude, and ChatGPT.

RailsForge Shubham Taywade released a VS Code and Cursor extension that folds a dozen Rails extensions into one, with schema hovers, route intelligence, and test integration, plus @rails, a local Ollama-powered agent grounded in your Gemfile.lock, schema, and routes to keep hallucinated APIs out.

Iris Code David Jaja added Ruby support to his local-first code health tool for VS Code, JetBrains, and CI, built to keep AI-assisted code up to your standards. It analyzes Ruby, Rails, and ERB for complexity, strong-parameter gaps, and more, with no code leaving your machine.

Solid Objects Lucas Carlson, author of the Ruby Cookbook, released open source Durable Objects for Rails backed by your existing SQL database. Addressable objects, durable state, and serialized turns without Redis or Cloudflare, pitched as the easiest reactive ERB there has ever been.

picoruby-ti Hamachan shared a universal type inference engine for PicoRuby that brings code completion and type checking to embedded devices with under 1 MB of memory. His AREA512 runs it inside a 512 KB Cardputer OS, so you write and run Ruby on the device itself.

Rebundler Dennis Paagman released a CLI that reorganizes your Gemfile, grouping and sorting gems and annotating each with its RubyGems description. Built on Prism, it preserves your code style and ships a CI check mode and an online playground.

Why Ruby on Rails Is a Great Fit for AI Agents Josef Strzibny, Ruby Developer Advocate at SerpApi, updated his case for Rails as the agent stack with fresh benchmark numbers. Ruby ranks first among major languages for token efficiency, and the Agents on Rails benchmark shows the best model completing 92% of tasks at about fifty cents each.

Berlin.rb Carmine Paolino announced a new regular Ruby meetup he and friends are starting in Berlin. The first night is September 8th and will be live streamed, with Carmine giving the first ever talk on version 2.0 of RubyLLM.

Articles

Endless Execution David Heinemeier Hansson marveled at coding agents as "a little genie trapped in my machine," technology so advanced it seems scarcely comprehensible, and called this the most fun he has had with a computer in over forty years.

Bringing Rails Into the Ractor-Age Edouard Chin of Shopify served Writebook from Ractors on Kino, a Ractor-compatible web server, with an agent helping make endpoints Ractor-safe. A pool of eight used nearly 7x less memory than eight Puma workers, and the first milestone is a new Rails app scaffolded and served entirely within a Ractor.

Running GPU AI Workloads With a Ruby on Rails Monolith Pete Matsyburka shared how DocuSeal detects PDF form fields with a vision model inside its Rails monolith, no Python service. The open source tensorrt-rb gem drives NVIDIA's TensorRT from Ruby, and overlapping page preprocessing with GPU inference lifted throughput about 80%.

One Week of Coding and Reviewing With LLM Agents Lucian Ghinda instrumented a week of real backend work across Claude Code, Codex, Cursor, and Amp, 22 million tokens from 350 typed prompts. Multi-agent review panels ran a 71% false positive rate while mutation testing hit 100%, and adding agents did not add reliability because their failures are not independent.

Tell the Agent to Write Its Scripts in Ruby Lucian also made the case for configuring agents to write helper scripts in Ruby. Agents generate code faster than you can read it, so scripts in the language you know best keep you a real reviewer instead of a rubber stamp.

Where Six AI Coding CLIs Store Your Session Logs Lucian audited where Claude Code, Codex, Cursor, Amp, opencode, and pi keep session logs. Only two document it, most never clean up, and the plaintext files hold API keys and code guarded by nothing but file permissions.

Explain to Me in Simple Technical English Lucian found that asking Claude for Simple Technical English cut explanations from 17.8 to 9.2 words per sentence without losing accuracy, beating the formal aerospace standard the phrase echoes.

You Can Use Ruby to Set the Status Line in Claude Code And Lucian showed a Ruby script as a Claude Code status line, reading session JSON from stdin and printing context usage color coded by how full the window is.

How to Build an Agentic RAG With RubyLLM and Rails Giovanni Panasiti upgraded the single-shot RAG in his Italian pension consulting app into an agentic loop where the model drives hybrid pgvector and full-text search through four RubyLLM tools, re-searching and following cross references, with Turbo Streams showing its reasoning live.

Building Autofatturala Giovanni also told the story of automating Italy's self-invoicing bureaucracy in about 9,000 lines of Rails. Vision models read supplier PDFs and RubyLLM schemas propose classifications, but the LLM proposes and Ruby decides, with deterministic code enforcing every fiscal rule.

RubyLLM::Schema Is Now Schematist Carmine Paolino renamed his JSON Schema DSL after it outgrew its RubyLLM roots. Schematist covers the full Draft 2020-12 spec with zero dependencies and drops the OpenAI envelope for standards-compliant output any validator accepts.

Maintaining an Organizational Knowledge Graph With an LLM and Event Sourcing Piotr Jurewicz described Planet Arkency, which funnels meetings, Slack, and email through one ingestion point where an LLM proposes graph changes against a closed ontology, with human review, full provenance, and Rails Event Store plus pgvector underneath.

The Sandbox and Permission Seams Mario Alberto Chávez continued his Nexo inbox agent series with the two seams that make it read-only by construction. Sandbox tiers contain where tools act, permission modes decide what they may do, and forbidden tools are never attached rather than merely discouraged.

Merging the Sources Into One Digest Mario then folded three inboxes' extractions into one digest with a synthesis agent whose deduplication and rollup rules live in a markdown skill rather than Ruby, because judgment belongs to an agent and a skill, not to the library.

Benchmarks Are Free Now Daniel Doubrovkine had Copilot CLI write a benchmark in one prompt and caught a 5x lookup regression in his ruby-enum gem's inheritance support, the kind of Friday afternoon script nobody used to bother writing. Memoization fixed it.

Generating AI Descriptions of Automated Pull Requests Daniel also wired slack-ruby-client's scheduled API regeneration to pipe its diff through an LLM, turning boilerplate "Update API" commits into real summaries and changelog entries, with fallbacks when parsing fails.

Making RubyGems Guides Friendly to Humans and AI Hiroshi SHIBATA rebuilt guides.rubygems.org with llms.txt indexes, a sitemap, and raw markdown by adding .md to any URL, cutting page weight up to 87%. He credited Evil Martians' LLM discoverability scorecard for prompting the work.

Ship Agent Skills Like Packages Rita Klubochkina and Travis Turner proposed a discovery index for agent skills, a JSON file at .well-known/agent-skills listing each skill with a SHA-256 digest installers must verify, so skills ship from your own domain like signed packages.

Running a Ruby MCP Server in Production Amanda Bizzinotto moved past local stdio experiments to Streamable HTTP in production, covering standalone versus in-Rails deployment, the SDK's in-memory sessions clashing with multi-worker Puma, DNS rebinding defenses, and OAuth resource server patterns.

Ruby 4.0 Universal RCE Deserialization Gadget Chain Luke Jahnke published a stdlib-only chain that turns one Marshal.load of untrusted data into remote code execution on Ruby 3.3 through 4.0.6, motivated by AI agents that escaped their evaluation sandbox partly through Ruby deserialization. Treat Marshal.load as command execution.

Your Best Model Is the Wrong One to Delegate To Trevor Turk pinned bounded implementation to a mid-tier model and kept judgment work on the frontier one, since the scope-expanding instinct of a great session model is exactly what you don't want in a subagent. It ran on Mechanical Turk, his blog that is itself the experiment, drafted by Claude and reviewed by a human.

Re-Reading the Rails Doctrine in the Age of AI Agents Taro Megane audited the Kurashiru codebase to test DHH's provide sharp knives principle against AI. Culture kept humans from abusing default_scope for years, but agents reset every session, so the norms now live in .claude rules and review agents instead.

Redmine AI Helper 3.6 Haruyuki Iida shipped a chat gateway that lets Slack and Discord talk to his Redmine plugin without exposing Redmine to the internet, plus per-project vector indexing, effort estimates drawn from similar past tickets, and a read-only mode.

Building a Content Generation Platform With Rails and an AI API Ken laid out a pipeline from outline to final text on Rails and Active Job, separating raw model responses from cleaned drafts and classifying failures so quality problems route to design revision instead of blind retries.

GemChat: AI Chat for Ruby Gem Documentation Saroj Maharjan detailed the architecture behind GemChat, hybrid pgvector and full-text retrieval over gem docs with cited answers, a Gemini to DeepSeek to OpenAI fallback chain, and MCP setup so agents query docs without leaving the IDE.

Why Deployless Environments Breed Constant Anxiety Julian Rubisch argued that vibe coding platforms removed a deploy step that was quietly doing a job, giving publishing anxiety a place to crystallize and dissolve. Removing it doesn't remove the risk, it just goes subconscious.

Introduction to RubyLLM Antonino Scaffidi Chiarello opened an AI with Ruby series with RubyLLM's multi-provider basics, from installation through first chat, aimed at Rubyists closing the tooling gap with Python.

From Rails 5.2 to 7.2 in 4 Months Rafael Peña-Azar led the JetRockets engagement that took Fera.ai from Ruby 2.7 to 3.4 and Rails 5.2 to 7.2 on a live system without pausing the product roadmap.

RuboCop 1.89 Bozhidar Batsov added opt-in project-wide analysis backed by Shopify's rubydex, giving RuboCop cross-file powers for the first time, with new cops catching name typos, deprecated references, and private methods nothing calls.

Ruby Butler: Thoughts on CLI Design Josef Šimánek reflected on his Ruby environment manager's left-to-right grammar, runtime context first and command second, with auto-detection of Ruby versions and Gemfiles and completions that follow the same structure.

Videos

Integrate CLI Agents With Tidewave José Valim answered the most asked question, Tidewave's inspector, accessibility tooling, and Phoenix and Rails integration now work from terminal agents via the Tidewave Toolbar. The demo drives OpenCode with element-aware prompts, generates UI variants, and fixes WCAG issues from an accessibility scan.

Tidewave Connect José also launched Connect, which lets your coding agent control your running app through the browser with runtime and framework context. Like Playwright, he wrote, plus better error handling, integrated sessions, and vision mode.

How I Ship Rails Like a Whole Team... With One Ruby Gem Raja Jamwal described running requirements through four parallel coding agents where nothing reaches him raw. Each implementation verifies inside the running app through his rails-mcp gem, since one belongs_to writes five methods grep never finds, and a live console sees them all.

Better Generator Descriptions Rachael Wright-Munn paired live on the RubyEvents codebase, adding short descriptions to Rails generators so an MCP tool generator can expose them to agents while keeping the long USAGE help text.

20,000 Messages a Second: AI vs the Legacy Monolith ITBeard interviewed Stas, a principal engineering manager at iGaming platform SOFTSWISS, on a Ruby monolith pushing 20,000 messages a second across hundreds of databases and what AI can do against legacy at that scale. In Russian, with Kafka, PostgreSQL, and Kubernetes along the way.

Podcasts

The Ruby AI Podcast: AI Escapes the Sandbox Joe Leo and Valentino Stoll unpacked the OpenAI training-run sandbox escape that spent four days probing Hugging Face and Modal before disclosure, then compared notes on the agent fleets at ZAR, where Valentino's internal bots take delegated work, and their favorite RubyConf talks.

Technology for Humans: Why Rails Is Built for the AI Era Errol Schmidt interviewed RubyLLM creator Carmine Paolino on why Ruby's readability and conventions matter as LLMs write more code, and what it takes to move from AI demo to production, permissions, cost control, prompt caching, and evaluations.

Technology for Humans: Why AI Pilots Fail After the Demo Errol also walked through five failure points to test before an AI pilot reaches production, from measurable outcomes and baselines to workflow fit, ownership, and edge cases. A pilot's job is evidence, not success.

The Ruby on Rails Podcast: MCP + Generators With Andy Andrea and Rachael Wright-Munn David Hill heard how a RubyConf hallway conversation became a pairing session and then working MCP tooling that wraps Rails generators for agents, cutting Ruby Events updates from an hour to 15 minutes, plus the tradeoffs between MCP, CLIs, and skills.

The Ruby on Rails Podcast: Special Guest Andy Croll David also talked with Andy Croll about Brighton Ruby, how Claude Code made neglected projects achievable while raising the stakes on review and judgment, and how CoverageBook interviews engineers now that take-home tests are easy to hand to a model.

On Rails: Code Is Cheap Now; Developers Still Valuable Robby Russell interviewed Joanna Wang of AI underwriting startup Sixfold about replacing brittle homegrown orchestration with Hatchet, going fully agentic as a team, and why Rails magic is easier to trust when an agent can trace it for you.

Rails Business: Nate Berkopec Brendan Buckingham and Ryan Frisch asked the Speedshop founder what AI actually changes about Rails performance work. Objective, tool-callable checks over unreviewed code, N+1 detection in agent loops, and the launch of ThreadPilot, his automatic thread pool tuner for Sidekiq and Puma.

Remote Ruby: SF Ruby 2026 With Irina and Vladimir Chris Oliver, Andrew Mason, and David Hill hosted Irina Nazarova and Vladimir Dementyev of Evil Martians on the second SF Ruby Startup Conference, Rails as a foundation for ambitious builders, and where AI-assisted development fits.

The Pragmatic Engineer: Stop Being Skeptical About AI for Development Gergely Orosz sat down with Honeycomb CTO Charity Majors on why 2025's rational AI skepticism no longer holds, how AI changes the economics of writing and reviewing code, and the rewritten second edition of Observability Engineering.

Newsletters

Static Ruby Monthly, Issue 19 Andrey Eremin rounded up typed Ruby for July. RBS 4.1 bringing JRuby support over WebAssembly, the OvalLSP semantic language server, sentinel-rb generating signatures from Rust, and a growing Sorbet ecosystem where dspy.rb validates LLM programs at runtime.

Four Line Fridays Nate Berkopec returned from summer break in four lines. A move to the OmniWM tiling window manager, Intercom's Fin as the only production software factory he has seen, mise's new bootstrap feature for dotfiles, and Pangram 4, the best AI detector he has used yet.

What I Wish Hotwire Native Actually Was Joe Masilotti wants Rails developers shipping mobile apps without ever reading Swift, the common 95 percent of tab bars, navigation, and push handled server side. AI writes Swift now, he noted, but certificates and App Store releases are the real cost, which his Ruby Native platform automates.

Additional Reading

Events

SF Ruby: SF Ruby Meetup @ Sentry July's meetup at Sentry included Cameron Dutro of Cisco introducing Garnet.js, his implementation of Ruby's YARV virtual machine in JavaScript, Alexander Baygeldin of Evil Martians made the case for fairness as a first principle in background job orchestration, and Marco Roth dissected the anatomy of an ERB rendering engine.

ChicagoRuby: August ChicagoRuby @ Workforce.com Anton Tkachov recapped the August meetup, where Kevin Murphy of Pubmark argued in "InstiLLMent of Successful Practices in an Agentic World" that the same investments that make AI agents effective, from clear documentation to thoughtful code review, also make engineering teams stronger, and Dan Phillips of Loophole Labs argued in "No Better Sandbox: Ruby, Wasm, and the Future of AI Agent Runtimes" that WebAssembly's deny by default model and smaller attack surface make it the strongest sandbox we have for AI agents, even if garbage collection and threading still make Ruby's path there bumpy.

Ruby Australia: Give Your Coding Agent Production Access Dan Milne showed how a read-only MCP endpoint backed by traces, events, and logs hands a coding agent the production context it needs to actually fix bugs, built and battle-tested on a real production application.

Ruby Australia: Packing the Modern Toolbelt: Staying Competitive in the AI Era Anton Katunin walked through the modern AI developer toolkit and the latest in the Ruby ecosystem, with practical advice on staying competitive as AI reshapes software development.

Upcoming

August 21st - Conference: RubyConf Africa 2026 gathers August 21st to the 22nd in Nairobi, Kenya at the Sarit Expo Centre, themed "Beyond Code: Innovating for the Future." AI-flavored sessions include Chris Hasiński's "Cool Things You Can Do With Embeddings," Nicolo Rebughini's "Accidentally Building a Neural Network: A Ruby Product Recommendation Journey," and FH Ndiritu's "In the Age of Abundance, Are We Bottlenecks?"

August 24th - Meetup: Philly.rb Lightning Talks occurs on August 24th in Philadelphia at the Indy Hall Clubhouse, an evening of community lightning talks hosted by OmbuLabs. Talk submissions are still open.

August 25th - Meetup: SF Ruby Meetup @ Gusto is on August 25th in San Francisco at Gusto's HQ. Gusto co-founder and Head of Technology Edward Kim leads a three-talk evening capped by the full round of 60-second intros, and two speaker slots remain open, with AI and agent integration talks likely from the unannounced speakers.

September 8th - Meetup: Berlin.rb #1 kicks off a new regular meetup for Berlin's Ruby community on September 8th at the ablefy office, organized by a crew that includes Stephen Margheim and Carmine Paolino. Carmine, the author of RubyLLM, headlines the first evening with "RubyLLM 2.0" and a second talk is still to be announced, with the talks also streamed live for anyone watching from home.

September 9th - Meetup: ChicagoRuby @ Beyond Finance is on September 9th in Chicago at the Beyond Finance office, streaming over Zoom for remote attendees. Tess Griffin mines Pokémon Blue's famous Missingno glitch for debugging lessons in "Learning Empathy From Pokémon Blue" and Chris Fung joins remotely with "Stop Fighting Ruby I18n: MessageFormat Is All You Need."

September 15th - Meetup: SF Ruby Meetup @ Datadog meets September 15th in San Francisco at Datadog's office. Jordan González of Datadog headlines the three-talk evening with "Ruby in the Age of Agents" before the full round of 60-second intros, and two speaker slots remain open with AI and agent integrations among the invited topics.

September 17th - Conference: EuRuKo 2026 runs September 17th to the 18th in Brno, Czechia at the Hotel Passage congress hall, a single-track program with keynotes from Yukihiro "Matz" Matsumoto, Xavier Noria, and Koichi Sasada, who closes on parallel programming with Ractors. The headline AI session is Carmine Paolino's "RubyLLM 2.0: Beyond Agents".

September 23rd - Conference: Rails World 2026 convenes September 23rd to the 24th in Austin at the Palmer Events Center, with the last general admission tickets still on sale. The agenda adds a headline pairing to the keynotes from David Heinemeier Hansson, Robby Russell, and Aaron Patterson, as Yukihiro "Matz" Matsumoto joins DHH to open day two with "AI and the future of Ruby & Rails," a conversation between the two creators on where AI takes both. After a CFP where half the submissions were AI-related, the program leans agentic. Daniela Velasquez builds AI pipelines in plain Ruby, Joël Quenneville pitches harness engineering over prompt perfection, Andrew Novoselac sends an agent loop chasing Rails Ractor-safety, Mike Dalessio anoints Markdown "the lingua clanka" and adds it to Action Text APIs because "agent accessibility is now table stakes," Kinsey Durham Grace agent-proofs your codebase, Enrique Mogollán builds his way through MCP, and Ryan Sherlock argues shipping is your heartbeat in the agentic era.

September 28th - Conference: Rocky Mountain Ruby runs September 28th to the 29th in Boulder, Colorado at eTown Hall. Nearly half the thirteen talks touch AI, including Drew Bragg's "Your own AI Agent in ~400 lines of Ruby," Giovanni Panasiti's "Building an Agentic RAG in the Rails Way with RubyLLM," and Andrea Fomera's "High-Octane Onboarding: Ramping into a Rails Codebase with AI Agents."

If you attend one Ruby conference this year, I recommend you make it the San Francisco Ruby Startup Conference, November 10th to the 12th at SFJAZZ, and join me and other Ruby founders and engineers in the heart of San Francisco. Last November I recapped the first SF Ruby Conference after 400 Rubyists and dozens of AI-powered startups showed up with a clear message, and year two promises to be even better. Garry Tan, President and CEO of Y Combinator and a Rubyist who built YC's Bookface on Rails, keynotes after declaring that "Ruby on Rails + Claude Code is a crazy unlock." The roster is packed with Ruby AI builders, from RubyLLM author Carmine Paolino to Anthropic's CJ Avilla, alongside Rosa Gutiérrez of 37signals, Chris Oliver of GoRails, Marco Roth of Herb, Peter Zhu of Shopify, and the Evil Martians crew.

The pre-conference experience is already a game. Register and you get your own pixel card as a pixel-art character with San Francisco landmarks you are meant to visit before the conference, and The Pier drops that character into a pixel San Francisco full of quests, easter eggs, and a points leaderboard with a prize. Irina Nazarova and friends built it on Rails with Claude in under a week, and the piano you hear is played by Sonic Pi, so it is Ruby all the way down. Regular tickets are on sale until September 30th, and I hope to see you there.

Open Source Updates

Code Spotlight

Aixle open-sourced Flow, a Rails 8 control plane where teams manage AI coding agents from a Kanban board, with each card triggering a containerized run of Claude Code, Cursor, Codex, Gemini, or Grok. Its DAG workflow engine routes steps between agents and humans with approval gates, per-session cost tracking, and audit logs, backed by Temporal for durable execution. Flow is Apache 2.0, self-hosts with just Docker and Git, and doubles as the execution layer of Aixle's managed platform.

Multi-Gem Frameworks

Portage - Suite of ten gems exposing e-commerce backends like Shopify and WooCommerce to AI shopping agents over MCP and the Universal Commerce Protocol:

New Gems

Links to the RubyGems page, newest releases are first:

riveter-sdk - Official Ruby SDK for the Riveter API

misarblog - Ruby client for misar.blog, a hosted blogging platform

agent_push_kit - Agent Push Kit API Ruby Gem

zeroclick-sellers - The ZeroClick billing guard for Ruby and Rails backends

terret-core - Terret agent harness core: session log, tools pipeline, agent loop

terret - Ruby-native, model-agnostic agent harness

okf-pro - A profile of OKF: one opinionated shape of knowledge bundle, and the gates that hold it there

trevosdk - Trevo server SDK for Ruby - deterministic variant assignment and event tracking

aitextwatermarkremover-tools - Scan and remove invisible Unicode characters from text

aihub2api - Client and preflight checker for the AIHub OpenAI-compatible API

llmp - A Ruby-based CLI for composable LLM workflows

lcp-sdk - LCP Lead Context Protocol SDK

scrubber_rb - Fast PII and secret redaction for Ruby, with a Rust core

plizent - Core libraries and tools for the Plizent ecosystem

pii_scrubber -International PII & secret redaction and reversible LLM anonymization for Ruby and Rails

okf-tui - A terminal UI for Open Knowledge Format bundles

weinc - WeInc AI website builder API client

pangram - Ruby SDK for the Pangram AI detection API

activeadmin_mcp - MCP server for Rails apps with ActiveAdmin

gitlab-orbit-proto - Auto-generated gRPC client for the GitLab Orbit service

miniswen - A Ruby port of mini-swe-agent

forcedream - Search, invoke, and cryptographically verify AI agents on ForceDream.

vision_api - Official Ruby client for the Vision API - OCR and visual intelligence

lemans - A Ruby harness for running agent benchmarks

crystil - Cost visibility for AI agents

codex-notify - Send compact Codex activity notifications to Slack

microsandbox-cloud - Package for future Microsandbox Cloud Ruby integration

cvisor - In-process Linux sandbox - Ruby SDK (Fiddle FFI over libcvisor)

mcptask-rails-runner - mcptask.online autonomous runner for Rails apps

wfirma - Ruby client for the wFirma API

omakase-agents - Agents as plain Ruby objects

myrr-rb - Agent-friendly content for your Rails app

antigravity-sdk - Google Antigravity SDK for Ruby

reeve - Per-record authorization and audit guardrails for Rails MCP tools

activeagents-telemetry-ruby_llm - Report RubyLLM chats to an ActiveAgents trace endpoint

activeagents-telemetry - Shared core for reporting LLM traces to ActiveAgents

finlight-client - Official Ruby client for the finlight.me API

webmcp - Ruby/Rails toolkit for WebMCP (W3C Web Model Context Protocol)

google-apis-agentidentity_v1 - Simple REST client for Agent Identity API V1

video_prompt_layer_audit - Audit subject, motion, camera, and audio layers in short video prompts

rubyllm - Official gem name alternative from Carmine Paolino

ruby_llm-chat - A drop-in chat interface for Rails applications, built on RubyLLM

schematist - A simple Ruby DSL for creating JSON schemas

ruby_llm-opentelemetry - OpenTelemetry instrumentation for RubyLLM

ruby_llm-evaluations - Evals for RubyLLM applications

openai-compatible-errors - Safe error normalization and replay boundaries for OpenAI-compatible APIs

c2pa_xmp_probe - Probe image bytes for C2PA, XMP, and common AI provenance markers

ruby_llm_mesh - Sovereign multi-provider AI mesh with native FFI core, circuit-breaking, and cloud failover

xeno - A framework for durable AI agents. Built on Rails.

connects - Libraries, tooling, and shared code from connects.dev

aws-sdk-agentregistrycontrol - AWS SDK for Ruby - Agent Registry Control

aws-sdk-agentregistry - AWS SDK for Ruby - Agent Registry

alluxi-workflow-first - Workflow-first framework for dependable software delivery

active_agent_ai - Native Multi-Agent AI Framework for Ruby & Rails

rails-hyperdrive-layered-rails - Layered Rails architecture guidance

mxrb - Pure-Ruby read/write engine for Mendix .mpr projects - no mxcli required

spltty - Shared-expense tracking in plain markdown ledgers, with AI-friendly workflow

rails-hyperdrive - Dev-only Rails engine that bootstraps an MCP server + skills/guidelines for AI coding agents

bundler-rails-hyperdrive - Bundler plugin that installs rails-hyperdrive companion artifacts on bundle install

multilocale - Ruby client for the Multilocale translation API

image_to_video_ai - Ruby client for the Image to Video AI generation API

bsdkrun - Firecracker-style microVM launcher for BSD, Linux, and unikernel guests

pledgestrike - An all-in-one offensive security toolkit built in Rust

New Open Source

Links to the Github repository:

Xeno - Framework for durable AI agents built on Rails, with sessions that checkpoint to the database and survive restarts, deploys, and approval waits

Reeve - Adds per-record authorization and an append-only audit ledger to the MCP tools a Rails app exposes to AI agents, deny by default

rails_mcp - Exposes selected Rails app actions to AI clients over MCP as a safer replacement for raw rails console access, with fail-closed auth

Barad-dûr - Rails 8 mission control that runs Claude Code agents through a full SDLC pipeline with approval gates, spend caps, and live dashboards

active_agent - Multi-agent framework for building autonomous agent teams with roles, custom tools, and tasks across OpenAI, Claude, Gemini, and Ollama

agent_sessions - Read-only CLI and API that locates, verifies, and audits the session logs of Claude Code, Codex CLI, Cursor, and other coding agents

ruby_llm-dagcache - VCR-style cassettes for RubyLLM agents that record runs as DAGs and replay the canonical path, paying the LLM only for new work

Agent OS - Local-first task board, MCP plugin, and native macOS control plane for managing OpenAI Codex agent work across multiple projects

aiwatch - An htop for local AI coding agents that reads Claude Code session logs to show token usage, costs, and a live process dashboard

Ruby LLM Trainer - Pipeline that turns Ruby codebases into training datasets and fine-tunes local coding models with MLX LoRA on Apple silicon

Sidecar - Watches code as humans or AI agents edit it, reporting findings from RuboCop, Brakeman, RSpec, and stylelint for just-changed lines

Ollama Coding Agent - CLI coding agent that runs against local Ollama models with sandboxed file tools, diff-validated edits, and three self-review modes

Highball Rails - Rails check pack for Highball pairing tiered code analyzers with Claude-judged AI rubrics, vendored into your repo for auditability

MCP Task Rails Runner - Rails distribution of the mcptask.online autonomous runner, wrapping its Go binary in rake tasks for Claude-driven scheduled jobs

Engineer Spreadsheets - Agent skill for spreadsheet engineering across Excel, ODS, and CSV, with a reproducible Ruby evaluation lab that grades agent behavior

Jobs & Opportunities

Are you an organization searching for an expert Ruby AI developer, or a Rubyist looking for your next development role with AI? Please reach out and let me know the type of opportunity you’re pursuing: [email protected]

SerpApi is hiring a Senior Fullstack Engineer to build and maintain the Ruby on Rails APIs behind its web search platform, which structures results from Google and 100+ engine APIs and powers AI products like Perplexity. The worldwide, remote-first role pays $150,000 to $180,000 plus profit share, with total compensation averaging $232,448, working in Ruby, Rails, MongoDB, and AWS across proxies, CAPTCHA solving, and browser scraping. SerpApi operates transparently with a public roadmap, shared financials, async-first scheduling, and a neurodivergent-friendly culture.

One Last Thing

Waka released sghtmltopdf, an HTML-to-PDF renderer written in Rust that needs neither wkhtmltopdf nor headless Chrome. Its parsers come from Servo's crates while the layout, pagination, and PDF writing were built for the project, and the docs show it rendering a 60,000 element document in about 2 seconds and 230MB of memory where headless Chrome needed 106 seconds and 1.5GB. The gem registers a :pdf renderer in the spirit of wicked_pdf so existing controllers often need no changes, runs in-process while releasing the GVL so Puma threads keep serving, and can delegate rendering to a separate server. Announced on r/rails, it earned a recommendation from wicked_pdf's original author, who declared that no one should be using wicked_pdf in 2026. Yaroslav Shmarov has already migrated a production app and cataloged the traps around fonts, vendored CSS, and silently missing stylesheets, while the official migration notes map every wicked_pdf option one by one. JavaScript and full CSS coverage are still on the roadmap, so point it at invoices, receipts, and reports rather than arbitrary pages.

That’s all for this edition! Be sure to reach out if you have any stories, content, jobs, or events you want featured in the newsletter.