Find conversations with no usable cached AI summary (missing or malformed; legacy valid caches are never touched) and generate them, at most limit per call. Newest activity first; only conversations you may read are considered. Default dryRun=true lists candidates with no model call, billing or writes. Set dryRun=false to generate; it is billed to company credits and needs company AI summaries enabled. Stops on the first generation failure, disabled flag, unknown usage or lost access. Cursor rules: use executeCursor from a preview to execute from its frozen window and starting position; eligibility is rechecked. nextCursor only continues the mode that produced it. Scans at most 50 visible rows per call, so hasMore may be true with no candidates in this page.