The Log is the Agent

2026-07-05 · page · source ↗ · source summary

Yohei Nakajima's architectural proposal inverts the agent stack: treat the append-only event log as the primary substrate, with the working graph, tools, rules, and outputs all being deterministic projections of that log. The contribution is not a better agent — it's a set of guarantees (replay, fork, lineage) that conventional frameworks structurally can't make.


The Core Inversion

The conventional agent pattern "grows by accretion" — conversation loop first, tools and rules attached, logging bolted on afterward. The log becomes "a byproduct: an audit artifact written alongside the real computation, never the substrate of it." ActiveGraph asks: what if the log were the agent?

The runtime holds an append-only event sequence. Graph state is computed by folding the log forward. Behaviors subscribe to event types + graph-shape patterns and emit new events in response. Control flow is emergent — the diligence example produces 93 objects and 76 relations across three companies "without a single line of orchestration code."

Key Quotes

"A model call is not a deterministic function of its inputs" so it doesn't satisfy the contract at first execution. But during replay, the recorded response is served from cache. "Determinism is thus a property of re-projecting a log that already exists, never a claim that running the agent is reproducible."

This is the paper's most honest move. ActiveGraph doesn't pretend LLMs are deterministic — it just records what happened and serves it from cache on replay. Determinism as reconstructability, not reproducibility. The distinction matters because most "deterministic" agent frameworks are lying about this.

"For diligence, research, compliance, or scientific work ... this recoverable chain from goal to output, reconstructable from the log alone, is the actual product."

The lineage is the deliverable. A revenue claim carries a provenance block naming the behavior that created it, the event that caused it, and the specific model request that produced it. This is the paper's deepest insight — that in high-stakes domains, the value isn't the conclusion but the auditable chain from question to answer.

"Large language models dissolve both constraints" of blackboard architectures — "brittle hand-built knowledge sources and hand-authored control logic."

Nakajima makes the case that the 1970s blackboard architecture (independent knowledge sources reacting to a shared workspace) "may fit LLMs better than the conversational loop they are usually wrapped in." This is a striking historical argument: we abandoned blackboards because hand-authoring knowledge sources didn't scale, but LLMs change that calculus entirely.

"A fork of a 200-step run that changes one setting at step 150 pays only for steps 150 onward."

The economic argument for the architecture. Most frameworks "cannot fork at all, because their state is not reconstructable." The shared prefix is served from cache. This makes counterfactual exploration — "what if we'd used a different research question?" — cheap enough to actually do.

Key Themes

Critical Analysis

What's genuinely new. The paper makes four architectural claims, and the novelty is in their combination, not any individual piece. Event sourcing is old. Reactive dataflow is old. Content-addressed caching is old. Blackboard architectures are old. What's new is applying all of them to LLM-based agent systems with the specific constraint that model calls are nondeterministic, and showing that the combination yields properties (fork, replay, structural diff, total lineage) that no current agent framework provides.

The blackboard argument is the paper's most interesting idea and also its biggest leap. Nakajima argues LLMs "dissolve" the two constraints that killed blackboard architectures — but LLMs aren't actually deterministic knowledge sources either. The paper handles this for replay (cache responses), but for first execution, the blackboard model inherits all the same nondeterminism problems as any other architecture. The claim that LLMs "fit" blackboards better than conversation loops is compelling but unproven.

The implicit coordination problem. "No orchestration code" sounds great until something goes wrong. Debugging emergent control flow through reactive subscriptions is notoriously difficult — just ask anyone who's debugged a complex RxJS pipeline or Kafka Streams topology. The paper acknowledges loop detection via per-run budgets but doesn't address observability of the subscription graph itself. Without tooling for "why did this behavior fire?", emergent coordination becomes emergent chaos.

The replay cost honesty is refreshing. The paper admits replay cost grows with log length and there's "no checkpointing or compaction yet." For long-running agents — the very use case the architecture targets — this is a real problem. A multi-day agent run could produce an enormous log, and replaying the whole thing to reach the current state defeats the purpose of having a live agent.

The self-improvement section is the right kind of speculation — explicitly unevaluated, but pointing at a real affordance the architecture creates. Fork-and-diff as an evaluation primitive for self-modifying agents is genuinely novel. Whether it works in practice depends on the quality of the structural diff, which the paper doesn't evaluate.

What's missing. No benchmarks against other frameworks. No multi-agent experiments. No production deployment report. The paper is a clean architectural argument with a worked example, not an empirical evaluation — and it's honest about this. But the claims about "cheap forking" and "total lineage" need stress-testing against real workloads with real nondeterminism.

The lineage-as-deliverable insight is the one that will outlast the specific implementation. Even if ActiveGraph itself doesn't catch on, the idea that for diligence/research/compliance work, the auditable chain from goal to output is the product — not the output itself — will shape how we build agents for high-stakes domains. Akmon pursues a similar goal (tamper-evident evidence layer) from the security side, and DeltaDB applies bidirectional code-conversation linking to the same problem from the version-control angle.

Architectural Lineage

ActiveGraph sits at the intersection of several traditions:

The corrective-event pattern in Oskar Dudycz's Fixing Bugs in Event Sourcing is Hard is the operational cousin of ActiveGraph's fork-and-replay: both rely on the original events surviving every correction attempt. Dudycz's buildSha metadata trick — store the git commit SHA in event metadata, query for events from the broken binary — is the same instinct as Nakajima's content-addressed model caching: metadata makes specific events directly queryable without replaying the whole log.

See also: barnstormer (event sourcing + actor model + JSONL log — the closest architectural cousin in the wiki), State System (append-only journals with evidence-first commits and deterministic replay), Linked Data Event Streams (LDES) (append-only immutable RDF event streams with formal synchronization — the data-publishing version of the same log-as-primary-substrate pattern, complete with retention policies and hypermedia traversal), Apache Burr (state machines with replay as first-class feature), Tau (τ) — Educational Coding Agent (durable JSONL sessions with branching), Akmon (tamper-evident, content-addressed event chains), DeltaDB (bidirectional conversation-code provenance), Swamp Club (immutable versioned data), Signals — The Push-Pull Algorithm (the reactive graph model underlying behavior subscriptions), Coding Agents Continuity Not Memory (provenance as operational handoff, not passive retrieval), Agent Identity (memory vs. participation — you can replay a log, but can you replay a stance?), Elements of Agentic Systems Design (Memory as one of ten elements), Agent-Native Architectures (Every) (parity, granularity, composability principles), Event-Driven vs Polling Architectures (structural idempotency keys as the determinism contract's cousin), Headlong — Persistent Agent Microharness (the long-running field realization of the same substrate — an agent's trajectory is a DAG of jsonl files with fork and merge, and context is a projection of that trajectory).


Sources: The Log is the Agent: Event-Sourced Reactive Graphs for Auditable, Forkable Agentic Systems Last updated: 2026-07-05