Architecture atlas
Four interacting planes. Clear owners for state and execution.
01 · Interaction
The browser and API accept turns and expose messages, tool calls, media, and progress. Streaming is a view of ongoing work; persisted execution and conversation records establish what actually happened.
02 · Generation and workflows
Model adapters translate provider-specific protocols. The workflow runtime coordinates durable execution, and effect providers carry out authorized operations. The provider generating text need not be the provider executing a tool.
03 · Context and memory
Conversation history, derived summaries, memory retrieval, and context-maintenance work have different roles. Hidden branches are separate conversations. Results return through defined channels rather than silently rewriting the original transcript.
04 · Governance
The Vesper agent family uses a staged process to turn observations into proposals, review, authorized application, and later audit. Intake is not approval, and a proposal is not evidence that a change is live.
Where truth lives
PostgreSQL holds durable platform state, transcript lineage, queues, and audit records. Redis supports transient events and coordination. Qdrant supports vector-backed retrieval. Scoped filesystems own actual files. Each store has a distinct responsibility; a transient event is not durable completion proof.
Process ownership matters
The API backend, workflow workers, context-maintenance workers, and node runtimes have separate execution responsibilities. A healthy API does not prove every worker is current or every job has completed. Source present on disk, applied database changes, and running process versions are separate kinds of evidence.