Skip to content
Looms
Documentation
On this page

Concepts

Looms is an event-sourced execution runtime. A run is the durability boundary; threads do the work; events are immutable facts; pure reducers request effects that return as new events.

Event→Pure Reducer→State + Effects→World→Event
Core invariant: Logical runtime state changes only by processing an event.
Thread hierarchyA parent block branches into child blocks on one shared platform, representing a single run. A parent agent spawns child workflows and agents. Different thread kinds share one run and its canonical event stream.
Many threads. One run.A parent agent spawns child workflows and agents. Different thread kinds share one run and its canonical event stream.

Where to go next#

Vocabulary#

Run#

Durability boundary and event-stream container for one logical operation, identified by runId.

Thread#

Unit of computation inside a run: agents, workflows, and custom kinds share one parent/child tree.

Event#

Immutable past-tense fact appended to the run log (e.g. approval.decided).

Effect#

Intent returned by a pure reducer: invoke IO, spawn a child, emit, or wait.

Signal#

External event injected into the stream — user messages, approvals, webhooks.

Durable wait#

Parked condition resumed by a matching event or timer. Resource usage depends on the host.

Projection#

Derived read model folded from the stream: chat, ledgers, approval queues, indexes.

Runtime module#

Package that contributes namespaced events, effects, thread definitions, and projections.