← back

Make your own event-sourced agent harness using stream processors — Jonas Templestein, Iterate

4.5K views · May 14, 2026 · 64:26 min · Watch on YouTube ↗
Takeaway

Event-sourced, URL-addressable agents with composable plugins offer a more debuggable and extensible alternative to monolithic agent harnesses.

Summary

  • Iterate co-founder builds an experimental event-sourced agent harness (events.iterate.com) where every action is an immutable event with an auto-incremented offset.
  • Goal: pure event-sourcing for full debuggability, plus composable extensions across machines/languages — unlike single-process harnesses like Claude Code or Pi.
  • Agents get URL-addressable HTTP endpoints from creation, enabling Slack webhooks or web forms as inputs without bolting on connectors.
  • Distributed by design (rust + TypeScript plugins can coexist) but explicitly accepts the trade-off of potential race conditions/loops.
  • Curl-first DX with YAML-formatted raw events and hierarchical agent paths — workshop attendees push events to live deployment.
agentsevent-sourcingarchitecture
Original description
The abstraction is three things: state, a synchronous reducer that derives state from events, and an after-append hook for side effects. The split matters: when your program restarts after 100 events, you want to catch up state without replaying LLM requests. Everything that happens (streaming chunks, tool calls, errors, circuit breaker triggers) is an event in the log.

The interesting part is deployment. Jonas demos "dynamic worker configured," an event whose payload is a JavaScript string containing a processor. Append it to any stream and that stream becomes an AI agent without server or dependencies. The broader implication: processors from different authors on different servers can compose against the same stream, and a safety checker can inject context in a 200ms window before an LLM request without blocking the agent if it doesn't make it.

Speaker info:
- https://x.com/jonas
- https://www.linkedin.com/in/jonashuckestein
- https://github.com/jonastemplestein