In one paragraph
Agent harnesses give a single agent its structure: how state is held, how steps are sequenced, how components attach and detach at runtime. tardigrade takes the harness side, deriving durable state from an immutable event log and running actors on Cloudflare Workers or a self-hosted Celld fleet. paper takes the theory side, formalizing how components compose in time and space without disturbing one another, using effect and coeffect calculus. What counts here: frameworks, harness designs and reference stacks for building one agent: its loop, tools, state and runtime.
The main approaches
Harness frameworks
A runnable layer that gives an agent its event loop, state model and hosting runtime. The developer wires atoms or similar units together; the framework handles persistence, step dispatch and deployment. clavia-labs/tardigrade is the example here: atoms reduce typed events into durable state, effect atoms produce the next action triple, and the whole thing runs inside Cloudflare Durable Objects or a Celld fleet backed by S3.
Composition research
Formal work that explains how components in a harness can be added or removed cleanly at runtime. The goal is a calculus that proves components interleave without side effects leaking across boundaries. cordiverse/paper points to a preprint that gives that calculus, grounding it in effect and coeffect theory and proving an observational equivalence result, with Cordis as the target implementation.
Map of the theme
flowchart LR t["Agent harnesses and frameworks"] t --> f1["Harness frameworks"] t --> f2["Composition research"] f1 --> r1["clavia-labs/tardigrade"] f2 --> r2["cordiverse/paper"]
Where the new ideas are
clavia-labs/tardigrade uses an Elm-inspired event-log fold as the core state primitive for agents: all state is derived by reducing an immutable log through typed atoms.
cordiverse/paper defines a unified context type that handles both temporal composability (reverting a component’s effects on removal) and spatial composability (declarative inter-component dependencies) in one formal system, with a proved metatheory rather than just a design pattern.
Side by side
| Repo | Approach | State model | Hosting targets | Formal proof | Hot module replacement |
|---|---|---|---|---|---|
| clavia-labs/tardigrade | Harness frameworks | Immutable event log folded via typed atoms | Cloudflare Workers (Durable Objects), Celld with S3 | Not stated | Not stated |
| cordiverse/paper | Composition research | Unified context type via effect/coeffect theory | Cordis meta-framework (implementation target) | Observational equivalence result proved | Described as part of Cordis (implementation target) |
How the idea moved
flowchart LR n1["started Aug 2026<br/>clavia-labs/tardigrade"] n2["started Aug 2026<br/>cordiverse/paper"] n1 --> n2
- started Aug 2026 · tardigrade · Adds: Derives durable agent state from an immutable event log through composable typed atoms, running actors on Cloudflare Durable Objects or a self-hosted Celld fleet backed by S3.
- started Aug 2026 · paper · Adds: Points to a preprint with a formal calculus for spatiotemporal composability, proving via observational equivalence that components can interleave without disturbing one another, and grounds it in effect and coeffect theory targeting the Cordis meta-framework.
Easily confused
This theme is about the internals of a single agent: its loop, state, and how pieces compose. It is not about orchestrating many agents together or routing tasks across a multi-agent network. A reader familiar with multi-agent workflow tools might expect task queues, agent-to-agent messaging or DAG scheduling. Those are absent here because the scope stops at one agent’s runtime boundary. Tardigrade does record parent and child threads under one actor, but that sits inside a single agent’s runtime.
Gaps nobody has filled
- No repo measures runtime overhead or latency of the event-log fold under high event volume.
- Tardigrade states no formal guarantee for its event-log fold, and the paper’s proofs concern its own calculus and Cordis, not tardigrade.
- The paper repo holds no code, so the calculus can be read but not run from there; its implementation, Cordis, is a separate repository.