Agentic state (todo + causal graph)

Interactive demo todo list UI with a live DAG of VcsOps chained by previousHash.

The todo list you see in apps is a projection. The system of record is the causal op stream: content-addressed VcsOp records linked by previousHash.

Try it

Loading state demo…

Two peers sync over MemorySyncRoom; the graph shows the merged op stream. Learn more

  • Alice / Bob: separate todo lists add and complete tasks; each peer appends ops on their own chain.
  • Right: merged causal graph nodes are ops (colored by agent), edges follow previousHash when present in the merged view.
  • Peers sync through an in-process MemorySyncRoom (havewantopsack), same relay shape as production sync.

This embed uses real createVcsOp hashing and SyncEngine from the Trellis kernel (browser bundle). Full repos use TrellisClient with the same room transport on PartyKit or WebSocket.

Three layers (don't mix them up)

LayerPackageWhat it is
Causal streamVCS / TrellisClientImmutable ops source of truth
ProjectionsEngine / UITodo list, graph view, issues
Ephemeral UItrellis/realtimePresence, cursors not in the op log

Realtime covers the third row. This page is row one and two.

Local development

# trellis-node
npm run build:state-demo-bundle
just docs-state-demo-sync

# trellis-docs www
npm run sync:state-demo
npm run dev