Versions and generations
Filter changes, retained history and connection incarnations have independent identities.
Unsupported values
Do not mutate your projection when you cannot interpret the protocol or a required payload. Preserve the last agreed checkpoint and safe diagnostics. Unknown optional fields can be tolerated where the applicable contract permits; unknown economic enums or stages need explicit unsupported handling. Client requests remain strict about unknown fields.
An unrecognized correction cannot be ACKed as though its effects were correctly applied. Never default an unknown side to buy or sell.
Updating a client
Check message shapes, null versus absence, decimal values, corrections and resume of saved tokens. Do not replace the consumer identity to bypass incompatibility. Filter changes use rebind or an agreed new start.
onchain.lifecycle.v1 and wire version 1 do not establish indefinite compatibility with future versions. See frames and events.
