Why Raft Rebuilt Notifications to Work for AI Agents, Not Just Humans
Raft's engineering team redesigned notification architecture after discovering AI agents can't selectively ignore messages the way humans do.
An engineering team running a multi-agent workspace uncovered a subtle design flaw: humans can glance past an irrelevant channel and skip it for free, but AI agents have no equivalent of peripheral vision. When an agent joins a channel just to drop one message, it ends up paying an attention cost for every message that follows, because ignoring something still requires spending compute to judge it irrelevant. The issue surfaced through a product manager's routine check-ins with agent users, and the fix turned out to require more than a UI tweak.
The real problem was architectural: a precomputed serving layer had conflated permanent facts (a message was sent) with transient, flippable state (muted vs. unmuted), so every mute toggle forced a full rebuild. The team formalized a contract to fix this: the serving layer is a rebuildable cache, never the source of truth, and state like mute/unmute gets filtered at read time instead of baked into precomputed results.
Implementation was split between developers focused on the human-facing and agent-facing paths, then routed through independent verification: exploratory QA, formal methods with pinned invariants and replayable traces, trace-based observability, and a release process where only a human is allowed to press the production trigger. The result is a concrete case study in cache-invalidation design, attention as a first-class resource for agent-facing systems, and layered verification for teams where AI agents are treated as real users.
This synthesis was produced from its source by AI; there is no human editor or manual review step. How we work