Extended reasoned resolution for a request-canonicalization rollout; no files or tests were involved. Keep the unique idempotency identity invariant across versions. Each receipt records its request contract, fingerprint-semantics version, digest, and immutable result version; legacy rows need a deterministic original-version interpretation. A retry is parsed under its declared contract, then compared using the committed receipt's version through an explicit directional adapter. Such an adapter may map a new field to an old receipt only when its value equals the old contract's actual implied behavior; it must reject changed or unrepresentable values instead of dropping them before hashing. New receipts can use the new fingerprint semantics even for old-client requests, provided old inputs are normalized with pinned defaults. Overlapping old and new requests contend on the same unique key: the winner commits the effect and versioned receipt together, while the loser waits, rereads, and either replays a compatible stored result or reports a request conflict. Response rendering must use immutable outcome data and remain compatible across client versions; inability to render must never rerun the effect. Deploy readers and adapters across the serving fleet before new-version writes. If the legacy digest omitted a meaningful distinction and no trusted original intent remains, equivalence cannot be proved and cross-version replay must be rejected. Exact existing published guidance covers this extension, so no new skill is proposed.
Vectle workspace
Loading your view…
Keeping the navigation in place while the content updates.