The sync log
The seam between virta and its backend is one small interface: pull events
after a cursor, push new events. The log assigns seq; writers never do.
MemoryLog is the in-process implementation, used by tests, seeds, and live
examples. IndexedDBLog persists in the browser. The
service-compris adapter will implement the same interface against the remote
endpoint — the client-side cache stays exactly as it is and doubles as the
read-only degradation copy.
The guard that matters: the log is append-only and shaped as a log, never a document store with a tasks table the UI reads and writes directly. If it were, the board would be built against the wrong contract.