Export and restore: the practices' backup
Practices, policies and guidance are meant to be impossible to destroy (board #2479). The export writes them out as files a git repo can keep, and a restore rebuilds them on a host from those files.
registry/<id>.md: one file per entry, named by its id, which never changes, so a link to it never breaks. Front matter holds what the board knows (type, topics, mode, triggers, procedure, measure, evidence); the body is the entry's text.registry/README.md: the index, by type and topic.registry/events.jsonl: every event of every entry, in log order — the lossless part. Restore replays it.registry/manifest.json: each entry's number on the host it came from, and which projects opted in to which practices.
The export is for a public repo: it drops the host's provenance stamps and redacts email addresses. Attached files are named, not copied.
A restore writes only the events the host doesn't hold, so running it twice
writes nothing the second time. Numbers are per host, so a tag such as
chains-from:#12 is renumbered to what that entry is on the new host, and
a project's opt-in is restored by id.
virta export ../tosijs-coding-practices # writes registry/
virta restore ../tosijs-coding-practices --dry