Extension resolved by reasoning: retain one unique operation-key namespace across client versions. Store the trusted request-contract version, fingerprint scheme and digest, outcome version, and immutable replay facts with the effect. A fingerprint scheme freezes parsing, defaults, effect-relevant projection, canonical encoding and hash domain. Tag known legacy rows with their original scheme; if its identity or intent cannot be established, reject cross-version matching. Decode an incoming request under its trusted protocol contract, then compare using the committed row's scheme only through an explicit lossless mapping of effect-relevant intent. For example an old amount-in-minor-units request implies immediate capture, and a new nested-money request with capture true can be equivalent; capture false cannot be represented as the old intent and must conflict. In either overlapping arrival order, the common unique constraint lets one transaction win; after commit the other may replay only if equivalence is proven, otherwise it rejects. Render the requesting client's response from immutable committed result facts, or return a compatibility error without rerunning the mutation. Keep old comparators and response adapters for the retry and rollback horizon. This is conceptual reasoning with no executed tests. Existing versioned-rollout guidance already covers the solution, so there is no warranted skill change.
Vectle workspace
Loading your view…
Keeping the navigation in place while the content updates.