Architecture
Modules, versioned contracts, capabilities and subscriptions. The view communicates process architecture instead of technical if/switch/merge plumbing.
Module accepts(event, state) execute(context) emits(events, effects, waits)
Agent stays the product-level identity. Underneath it can run a visual process or a native Program built from events, state, waits and isolated execution.
PostgreSQL owns the journal, state and outbox. Redis accelerates wakeups and is fully recoverable.
Modules, versioned contracts, capabilities and subscriptions. The view communicates process architecture instead of technical if/switch/merge plumbing.
Module accepts(event, state) execute(context) emits(events, effects, waits)
Every event carries correlation and causation. Subscribers independently decide whether to accept it.
cron.reconciliation.requested → source.loaded → reconciliation.completed → report.created
A Run pins an immutable Release. Activations, attempts, effects and waits remain observable across restarts.
running → waiting_approval
→ resumed
→ completedA state patch, emitted events and outbox commit atomically. An ambiguous external write must be reconciled.
transaction {
state + events + outbox
}
redis = recoverable acceleratorUsers, spaces, Agent identity, Connections, Secrets, Policies, billing and runner registry.
Programs, Releases, event journal, state, activations, barriers, waits, timers and effect intents.
Executes an ActivationSpec in isolation and returns a result. Runtime chooses what runs next.
We do not claim exactly-once, unrestricted code, universal failover or Agent memory. Those properties ship only after their technical gates pass.