# The model

Virta has one store: an **append-only log of events**. A task is never stored;
it is a *view* folded from the events that mention it. Comments, tag changes,
body edits, attachments, closes and reopens are all events, so the card's
transcript is the log rendered — there is no second structure to keep in sync.

Every event is attributed by the identity of the credential that wrote it
(`by`). Locally that is whatever identity the store was opened with; against
service-compris it will be the scoped capability token.

Tags are the whole model: bare keys (`bug`) or `key:value` (`status:doing`,
`project:tosijs-ui`). Workflow is a tag convention the tool never enforces.
