The append-only event log is the spine of Olbos. It is simultaneously the audit
trail, the replay source, the engine checkpoint, and the dashboard's
narration feed. If it isn't an event, it didn't happen. This is the complete
vocabulary.
interface EventRecord { seq: number; // monotonic sequence, assigned by the log ts: string; // ISO-8601 timestamp correlationId: string;// ties together all events from one logical action event: EngineEvent; // the payload (one of the types below)}
correlationId is what makes tenant isolation possible: a tx.confirmed (keyed by
intent ID, not strategy) is linked back to its strategy because it shares a
correlation ID with that strategy's rebalance.proposed. See
Security — multi-tenancy.
Audit is free. There's no separate audit system to keep in sync — the log
is the audit.
Replay is truth. The engine's entire view (strategies, custody, kill state)
is a fold over these events. Lose the in-memory state, replay the log, you're
back.
Idempotency is cheap. Before acting, the engine reads the log; a prior
tx.confirmed for an intent means "already done."
The dashboard is honest. It narrates these events directly — it can't show
something that didn't happen, because there'd be no event for it.