Integrity replay
Re-derive every chain
Each event carries the SHA-384 seal of its predecessor. Recomputing from the genesis value detects any edit, because changing one field changes that seal and therefore every seal after it.
Loading records.
How the chain is built
seal_0 = "orbitgene/genesis/v1"
seal_n = SHA-384( UTF-8(seal_{n-1}) || canonicalJson(event_n) )
canonicalJson sorts object keys recursively, preserves array order,
drops undefined members, and renders dates as ISO-8601.