Breaking changes (event model)
Move events are now idempotent
move.node, close.issue, and reopen.issue now persist { parent, rank }
The previous { pos } (relative positioning) has been removed
All node creation events now require rank
init.workspace, add.workspace, add.board, add.swimlane, add.issue, add.field
Existing logs using pos or missing rank will fail to load
Reinitialize or manually migrate data