Skip to content

fix(research): support overlap pagination on older gh - #1970

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
petalas:fix/overlap-gh-pagination
Oct 14, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
petalas:fix/overlap-gh-pagination

Conversation

@petalas

@petalas petalas commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Summary

 gh_json(["--paginate", "--slurp", ENDPOINT])
-gh api --paginate --slurp ENDPOINT
+gh api --paginate ENDPOINT --jq '@json'
+decode every compact JSON page before publishing the snapshot

Keep complete open-PR pagination on GitHub CLI releases without --slurp. Normalize the legacy argument inside gh_json, leaving its callers unchanged. This preserves merged PR #1623's path-index fetching and avoids a caller conflict.

Reject absent or malformed pages. Preserve the previous complete snapshot when any page fails. Split only LF separators so embedded Unicode line separators survive. Single-response GraphQL behavior and the cache schema are unchanged.

Retain Douglas Colkitt's helper and cache design. Cinna Davis's earlier report identified the unsupported flag. This patch adds the correction and reproducible regression coverage. The sampled complex-new-helper-inventory task changed scope to tooling; this supplies no new helper inventory or bound improvement.

Evidence

  • Before: the new legacy-argument regression fails with unknown flag: --slurp. After: all seven focused regressions pass in standard and optimized modes.
  • The controls cover later-page drafts, Unicode/newline bodies, empty repositories, missing and malformed output, failed refreshes, cache preservation, offline reuse and GraphQL errors.
  • The two-file patch applies cleanly to main 51122344de9382e784c7f89953456d8cd55513ef, including Tooling: search open-PR overlap by changed file path in find_overlap (no new kappa) #1623. All 60 research-workflow tests pass on that combined tree with no skips. All 49 pass on this branch with no skips.
  • A live refresh completed with 392 open PRs and 639 Discussion records, complete pagination and no warnings, at 2026-10-14T16:53:29Z.
  • Baseline bindings, warning-enabled bytecode compilation and diff checks pass. The selected record and its source pins are unchanged.
python3.12 -X dev -W error -B -m unittest discover -s tests -p 'test_research_*.py'
python3.12 -I -O -B tests/test_research_overlap_pagination.py
python3.12 -B scripts/research_baseline.py

Merge Danger

Door: two-way

Blast Radius: coordination

Only paginated REST decoding and its tests change. No scientific evidence, selected frontier or cache format changes. Overlap reports remain search leads, not novelty certificates. No full mathematical cold replay or hosted-CI result is claimed.

Normalize legacy --slurp arguments at the paginated CLI boundary and
collect compact JSON pages without requiring that flag. Keep REST callers
unchanged so the fix composes with the path index.

Reject absent or malformed pages before publishing a complete snapshot.
Split only LF separators to preserve Unicode text in PR bodies. Add
regression controls for legacy arguments, pagination, failed refreshes,
cache reuse and unchanged GraphQL behavior.
@petalas
petalas force-pushed the fix/overlap-gh-pagination branch from a1333b6 to 9c2fdd8 Compare October 14, 2026 16:57
@Mister-Meeseeks
Mister-Meeseeks merged commit fcea691 into CrocSwap:main Oct 14, 2026
@Mister-Meeseeks

Copy link
Copy Markdown
Contributor

Batch review at 9c2fdd89e553751e40ef8011716a249e8385d284.

Merged to main, preserving the original contributor commits and package attribution.

Reviewed scope: REST pagination preserves the nested-page contract without gh --slurp, including Unicode line separators, later-page drafts, failed refreshes and cached coverage. Seven regression groups verify failure retains prior complete data. No mathematical claim.

The pinned scoped command passed; the batch ledger contains its command, input hashes, environment and log. This incorporates the research/tooling contribution and does not change the selected κ or discharge the inherited multiplication-theorem assumptions.

Batch review, attribution and evidence. Thank you for the contribution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants