specs

open override fun specs(): List<<Error class: unknown class>>

Every MERGE these stores perform needs its key to be unique, because a MERGE is race-free only then. Without that, concurrent saves all miss the match, all create, and the history fills with duplicates.

The two sequence constraints back the ordering. They make two records of one schema sharing a position impossible to store, so a lost counter update fails with a constraint violation the caller can retry.