We are all juniors again A long, long time ago, when Akinator was the peak of “advanced AI” on the internet, before services became micro, and deployments meant sending a file directly from a local computer via FTP to a server, I was introduced to the Dreyfus Skill Model. As a junior dev back then, I liked it because it explained why my senior and architect colleagues could sometimes make impactful decisions intuitively, while I, on the contrary, was expecting step-by-step instructions on how to convert HTML form input into a database row. In short, the Dreyfus Skill Model describes that when…
Maintaining an organizational knowledge graph with an LLM and event sourcing Organizations are surprisingly good at forgetting. Decisions are made on calls, insights get buried in Slack threads, and a month later no one remembers why things are the way they are. Arkency is no exception. Weekly calls, ad-hoc meetings, our book clubs, Slack discussions, GitHub mentions, email inbox - we could use some support in organizing all those signals. Then Ruby Community Conference 2026 happened in March. In Kraków, Obie Fernandez showed some parts of his NEXUS system. He had already described it on his…
3 example process managers in Rails I am writing this blogpost from this beautiful place in the Polish mountains. Our RailsEventStore camp takes place this week. Process managers are meant to map business process into code. The more readable and declarative it is, the better the chance domain experts will understand it. Over the last years, we have experimented with several approaches on how to implement process managers in Ruby. The foundation here is RailsEventStore and the architecture where events are published and commands are used to tell what to do next. Most business processes can be…
Ingress is not the owner of the invariant A polemic with Callbacks Are Not Invariants by Brandon Weaver. A disclaimer: I’m a RailsEventStore maintainer and this article ends up on the Arkency blog — so cards are on the table. Despite this, I’m keeping the core of my argument in pure ActiveRecord: no step of the reasoning requires RES. I only show the RES version at the end, separately, as “and this is what it looks like when you’re not typing it in manually”. If you’re convinced by the bare-metal AR reasoning, not the library, that’s what matters. We agree about the disease I enjoy reading…
Let Your AI Assistant Explore the Event Store with res-mcp When you’re debugging with an AI assistant, half the work is giving it enough context. You copy event payloads into the chat, paste stream contents, look up IDs, then repeat the process every time you need another piece of information. ruby_event_store-mcp removes that step. It’s the companion to the res CLI. Instead of you querying the event store from the terminal, your AI assistant does it for you through MCP tools. You ask questions in plain English, it reads the events itself. The difference from copying the events into the chat…
Inspect Your Event Store From the Terminal With the res CLI Because not every debugging session needs rails c. Most event store debugging starts the same way: you open a Rails console, try to remember the Event Store read API, and type something like: event_store.read.stream("Order$123").to_a It works, but it’s a lot of ceremony just to answer questions like: What happened in this stream? Was this event actually persisted? What does the latest event look like? The new contrib gem, ruby_event_store-cli, gives you a dedicated res command for inspecting your Event Store directly from the…
Read at the source
Your visit, your choice.
Optional Google Analytics helps us understand visits. Microsoft Clarity records masked interactions to improve the site. Optional tools stay off unless you choose them. Privacy details.