Skip to content

Standardize resumable pagination metadata across high-volume discovery commands #4730

Description

@Widthdom

Summary

Several high-volume discovery formats report partial results but cannot be resumed without re-transferring earlier rows or increasing global limits.

Integrated v1.39.4 findings

  • Include total and continuation metadata in compact search output
  • Offer an envelope form for search --json=array with paging metadata
  • Add max-json-bytes and pagination controls to languages
  • Return a resumable cursor for partial find --all scans
  • Add stable cursor pagination to symbols
  • Add stable cursor pagination to files

Evidence

files and symbols report has_more without cursors. find --all can hit the line-scan cap with exit 11 and no cursor. languages lacks standard JSON byte/paging controls. Compact search omits total/omitted/cursor/stable-at fields, and search --json=array has no envelope for terminal pagination metadata.

Expected behavior / direction

Add opaque generation/query-bound cursors and consistent total/omitted/truncated/stable-at metadata. Provide an opt-in envelope for array output and bounded JSON controls for languages while preserving existing simple formats.

Related closed issues

These issues remain closed; this is a new regression or follow-up observed on v1.39.4.

Environment

Reproduced with a locally built cdidx v1.39.4 from current origin/main at 87b8bf44210344f52ba4cb7827c149dfad32c0c8, using a fresh repository index on macOS arm64.

Metadata

Metadata

Assignees

No one assigned

    Labels

    .NETPull requests that update .NET codeenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions