diff --git a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h index 15fccb2239..e31d5f0735 100644 --- a/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h +++ b/packages/dapi-grpc/clients/platform/v0/objective-c/Platform.pbobjc.h @@ -2497,20 +2497,32 @@ GPB_FINAL @interface GetDocumentsCountRequest_GetDocumentsCountRequestV0 : GPBMe /** * CBOR-encoded order_by clauses. Same encoding as - * `GetDocumentsRequestV0.order_by`. Required when `where` carries - * an `In` or range operator on the prove path: the materialize- - * and-count walker needs a deterministic walk order so the SDK - * can reconstruct the same path query and verify the proof. The - * first orderBy clause's direction also controls entry ordering - * in split-mode responses (per-`In`-value or per-range-distinct- - * value); ignored for total-count responses. + * `GetDocumentsRequestV0.order_by`. The first clause's direction + * controls entry ordering in split-mode responses (per-`In`-value + * or per-range-distinct-value). On the `RangeDistinctProof` prove + * path the direction is part of the proof's path query, so the + * SDK must reconstruct the same value — empty `order_by` defaults + * to ascending on both sides for determinism. Ignored for + * total-count responses and for the `PointLookupProof` path + * (which sorts In keys lex-ascending unconditionally for prove/ + * no-proof parity). **/ @property(nonatomic, readwrite, copy, null_resettable) NSData *orderBy; /** - * Maximum number of entries to return on the no-prove path. - * Server clamps to its `max_query_limit` config. Unset → - * server default. Has no effect on total-count responses. + * Maximum number of entries to return. + * - **No-proof paths**: server clamps to its `max_query_limit` + * config; unset → server default. + * - **Prove paths** (`RangeDistinctProof`): validate-don't-clamp. + * `limit > max_query_limit` returns `InvalidLimit` rather than + * silently clamping, because silent clamping would invisibly + * break verification (proof determinism requires the SDK to + * reconstruct the same path query). Unset falls back to + * `crate::config::DEFAULT_QUERY_LIMIT` (a compile-time constant + * the SDK also reads) — explicitly NOT the operator-tunable + * `default_query_limit`, so proof bytes are deterministic + * across operators regardless of their runtime config. + * Has no effect on total-count responses. **/ @property(nonatomic, readwrite) uint32_t limit;