The resolved sort specification
Optionalscope: { entity: string; keyColumns: readonly string[] }
Entity and resolved key columns (since 0.11.0); omit for legacy output
Without scope, a stable fingerprint string ('field:direction' pairs joined by
commas, in orderBy declaration order); with scope, JSON of entity, key columns and that string
Build the stable sort fingerprint embedded in every minted cursor.
The fingerprint must be stable across all calls with the same sort — a cursor minted under one sort and presented under another carries a different fingerprint and is refused by name rather than served a silently wrong page.
With scope, binds the entity, key columns and sort. This is a correctness check, not an authorization boundary. Scoped adapter paths refuse old unscoped cursors.