Messages survive restarts
Agents receive durable sent and received events, then resume from a persisted message identity or event cursor.
Actae is the durable coordination layer for production AI teams: messages, leases, causal history, and safe counterfactual forks behind one API and native Python, Go, and TypeScript SDKs.
A router can restart while research is running. A tool result can time out after the external call succeeded. A new evaluator can join after the decision was made. In-memory queues and ad hoc retries make those boundaries invisible.
Actae turns each handoff into a durable, inspectable fact with a causal relationship to the work that produced it.
Durable membersRegister each agent as a member with its own channel, role, lease, and generation.
Causal messagesRoute typed messages with payloads, operation keys, and explicit causal context.
Counterfactual forksReplay the known past and isolate only the decisions you want to change.
Agents receive durable sent and received events, then resume from a persisted message identity or event cursor.
Claims, heartbeats, generations, and fencing ensure a stale worker cannot acknowledge or overwrite a newer owner.
Freeze selected agents, replay known tool results, promote a member when you have evidence, and retain the complete divergence receipt.
Subscribe a member's delivery channel over WebSocket for immediate events, or query the durable inbox after a restart. Both paths use the same persisted event history and cursor semantics.
Read the coordination guideasync with group.claim_member("research") as member:
async for msg in member.stream_ws():
if msg.message_type == "ticket.inspect":
await member.acknowledge(msg)Use coordination as the foundation for support swarms, research pipelines, autonomous operations, human approvals, and evaluation harnesses.