Everything is
an event.
Nothing in your graph is overwritten in place. Every change is a command that appends an event — and the present is simply the replay of everything that happened.
A ledger for your knowledge.
Like a blockchain keeps a chain of transactions rather than a mutable balance, your graph keeps a chain of events rather than a mutable state. Rename a node, move it, send a message — each becomes an immutable event. The node you see is those events, replayed.
ItemCreatedEvent created “Deploy checklist”just nowItemUpdatedEvent marked “Ship v1” ✅ Done2m agoMessageCreatedEvent posted the weekly summary2m agoItemMovedInEvent moved “Idea” → “Backlog”1h agoThe same events do double duty.
There’s a single source of truth — the event stream. It powers two things at once.
Replayable history
Read the events forward and you get a node’s whole story — who changed what, when — and can restore any past state. Nothing is ever truly lost.
See the history →Live automation
Hand the very same events to a contract and your graph reacts in real time — notify, summarize, sync, or run code. History and automation, one stream.
See contracts →Events flow up the tree.
An event doesn’t just sit on the node it happened to — it bubbles upward through every parent. So you subscribe to anything just by placing a reference above it: the events of a whole branch — a project, a person, a team — flow up to your reference and into whatever is listening there.
The events themselves.
A small, well-defined set — every one carries who did it and when, down to the millisecond.
ItemCreatedEventItemUpdatedEventItemArchivedEventItemMovedOutEventItemMovedInEventMessageCreatedEventMessageUpdatedEventMessageArchivedEventeventType = 'ItemUpdatedEvent'
event.toItemDetails.title // "Ship v1"
event.toItemDetails.tags // [ '#marker#…done' ]
event.updatedByDisplayName // "Ruslan"
event.updated.when.inMilli // 1782861612367This is exactly what a contract sees on every change — and exactly what the history replays. One shape, two uses.
A graph that never forgets.
Every change recorded, replayable, and ready to act on.
Start your graph →