p2panda requires a canonical encoding format to guarantee that hashing a value produces the same result across all implementations.
All CBOR values need to be encoded in canonical format and "strict mode" as per CBOR specification.
All array values and map keys whose order is not semantic MUST be encoded in lexicographically sorted order and can not contain any duplicates.
Arrays without semantic meaning are:
- any document view id
- including those in a schema id or pinned_relation
- previous array in an operation