Contains some AI-generated content

Under the River shopify.engineering

Javier Moreno and Burke Libbey on the infrastructure under River, Shopify’s Slack-native coding agent, with River itself credited as a co-author of the post. The scale is the reason to read it: one in eight merged pull requests across Shopify is coauthored by River, and in one 30-day window there were 59,918 sessions across 5,170 Slack channels, touching the work of over 7,000 people, producing 3,536 merged coauthored PRs. Median session runs 19 minutes and 50 tool calls.

The design idea is to decouple the brain from the hands. Aquifer splits into a session (durable identity, append-only event log, Postgres-backed), a harness (the agent loop, which reads history, calls the model and emits tool intents) and a sandbox (filesystem, shell, repo), with a gateway, credentials proxy and observability pipeline around them. Because the session is an event log rather than a process, it survives restarts and model swaps: the session is the thing that must survive.

The part that generalises least and matters most is that the groundwork predates the agent. Shopify had already consolidated into a monorepo called World and standardised on Nix, so an agent gets one navigable root and identical environments in dev, CI and production. Their framing is that making the codebase legible to an agent was the same work as making it legible to a new engineer.

The other idea worth keeping is social rather than technical. Every River conversation is a public Slack transcript, open by default, and the patterns get mined back into skills, so one person’s hard-won fix becomes the next person’s starting point. Sits alongside their later agentic harness post and Quick as a picture of the same platform strategy.

← All links