Concepts

The primitives.

Weave has seven concepts you need to know. Everything else — SDKs, the runtime, the CLI — is sugar on top of these. Once they click, the rest of the system reads itself.

Scroll

available

The append-only event log.

An ordered, immutable record of everything that happens inside a run. Both event store and message broker — one primitive, not two.

Event

available

A committed fact.

A topic plus a payload, written to a scroll. External commits capture facts the runtime can't reproduce; derived events are a consequence of prior ones.

Reactor

available

A subscription as data.

Watches a source scroll, tracks its cursor on a state scroll, and turns new events into more events. The primitive underneath tool dispatch, projection, enrichment, and reconciliation.

Agent

available

A model call with a typed contract.

The LLM-calling peer to the reactor. Takes an inputs bag, commits an ai.request / ai.response pair on a scroll, decodes into a structured output. Nano, mini, full — decompose before you scale up.

Workflow

available

A state machine as data.

A compiled definition the runner interprets against scroll events. Workflows are data, never code paths — that's why they replay.

Tool

available

A handler on the scroll.

Subscribes to tool.dispatch events and publishes tool.result. The handler's location — in-process, service, or MCP — is an implementation detail.

Prompt

available

A question on the scroll.

Hydration emits prompt.hydrate.request; a subscriber produces prompt.hydrate.result. Structurally symmetric to Tool — static strings are the degenerate case.