From primitives to production

See how conversational, tool-using, human-supervised, multi-Agent, long-horizon, and data-intensive Agents compose from seven primitives.

The seven primitives are not seven product templates. They form a language from which Agent architectures are derived. A pattern belongs in a library when it can be expressed as composition; it belongs in the runtime only when it introduces a new durability or authority invariant.

Common compositions

Agent architecturePrimitive composition
Conversational assistantledger → turn → commit
Tool-using ReAct Agentrepeat ledger → turn, execute governed Tool effects, then commit
Human-in-the-loop workflowturn → await → commit
Delegating supervisorturn → spawn → derived join → commit
Research Agentledger → turn → spawn → turn → commit
Planner and executorturn → spawn or map → reduce → turn → commit
Data-intensive Agentmap → reduce → turn → commit
Long-horizon Agentadvance durable state while repeatedly composing the same seven words

Memory does not add a primitive. An Agent invokes a governed Memory Resource, supplies retrieved records as untrusted context to turn, and uses commit for workflow truth. An external API does not add a primitive either: it is a Resource operation invoked directly by deterministic Agent code or through a Tool offered during turn.

Complexity stays above the runtime

@constal/std derives all, select, race, transcript chunking, and durable ReAct from Handles, ledgers, and turns. Application libraries can add domain planners, evaluators, routing strategies, or review loops in the same way. Their implementation may evolve without changing the durable meaning of the underlying program.

This keeps sophisticated behavior inspectable. Every judgment maps to a turn, every published truth to a fact, every wait or child to a durable Handle, every large computation to a Stage, and every world effect to an exact Resource invocation with Policy and recovery evidence.

Build the smallest useful composition first. Start with ledger → turn → commit, add await only when time crosses the invocation, add spawn only for independently durable work, and use map and reduce when cardinality no longer belongs in bounded child joins.

Use the Agent patterns catalog to move from this primitive vocabulary to implementation recipes for dialogue, research, knowledge, data, evaluation, action, workflow, software, operations, multi-Agent, and long-horizon systems.