Skip to content

fix(review): paginate getLatestDeploymentStatus deployments and statuses (#7805) - #7832

Closed
kai392 wants to merge 5 commits into
JSONbored:mainfrom
kai392:fix/preview-deployment-pagination-7805
Closed

fix(review): paginate getLatestDeploymentStatus deployments and statuses (#7805)#7832
kai392 wants to merge 5 commits into
JSONbored:mainfrom
kai392:fix/preview-deployment-pagination-7805

Conversation

@kai392

@kai392 kai392 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Paginate getLatestDeploymentStatus deployments-list and per-deployment-statuses reads via findAcrossPages, matching the sibling functions already fixed in fix(review): paginate preview-url.ts's PR-comment and check-run GitHub reads #7469.
  • Extend findAcrossPages to accept async probes so deployment pages can nest status pagination.
  • Add regression tests for preview URLs on deployments page 2, deployment-statuses page 2, and failure/error paths.

Closes #7805

Test plan

  • Unit tests in test/unit/preview-url.test.ts cover pagination + error paths
  • CI validate-tests + codecov/patch on src/review/**

RealDiligent and others added 4 commits July 21, 2026 21:43
…ses (JSONbored#7805)

Reuse findAcrossPages for both GitHub list reads so preview URL discovery
does not silently miss deployments or statuses beyond page 1.

Closes JSONbored#7805

Co-authored-by: Cursor <cursoragent@cursor.com>
…e only

Avoid a redundant page-1 refetch after pagination and satisfy
exactOptionalPropertyTypes for latestState.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@kai392
kai392 requested a review from JSONbored as a code owner July 21, 2026 14:15
@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@codecov

codecov Bot commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 96.87500% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 88.82%. Comparing base (ead55ca) to head (8dd5416).
⚠️ Report is 10 commits behind head on main.

Files with missing lines Patch % Lines
src/review/visual/preview-url.ts 96.87% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7832      +/-   ##
==========================================
+ Coverage   88.65%   88.82%   +0.16%     
==========================================
  Files         730       89     -641     
  Lines       76959    21360   -55599     
  Branches    22787     3727   -19060     
==========================================
- Hits        68229    18972   -49257     
+ Misses       7684     2196    -5488     
+ Partials     1046      192     -854     
Flag Coverage Δ
shard-1 42.46% <25.00%> (-11.16%) ⬇️
shard-2 2.05% <0.00%> (-49.48%) ⬇️
shard-3 76.02% <96.87%> (+25.79%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/review/visual/preview-url.ts 84.24% <96.87%> (+11.72%) ⬆️

... and 641 files with indirect coverage changes

Co-authored-by: Cursor <cursoragent@cursor.com>
@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 21, 2026
@loopover-orb

loopover-orb Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Caution

🛑 LoopOver review result - fixes required

Review updated: 2026-07-21 14:45:27 UTC

2 files · no blockers · CI failing · unstable

🛑 Suggested Action - Fix Blockers

  • AI review already in progress for this PR head: Another LoopOver pass is already running the AI review for this exact PR head. This pass is skipping to avoid a duplicate LLM call.

Review summary
AI review is already running for this PR head in another LoopOver pass. LoopOver is holding this PR for manual review until that pass completes.

Nits — 1 non-blocking
  • AI review already in progress for this PR head — The gate is held for a human reviewer rather than passed automatically; it re-evaluates once the in-flight review completes or on the next update.

CI checks failing

  • codecov/patch — 96.87% of diff hit (target 99.00%)

Decision drivers

  • ✅ Code review — No blockers (No AI review summary)
  • ⚠️ Gate result — Not blocking (Advisory; not blocking this PR.)
Context & advisory signals — never blocks the verdict
Signal Result Evidence
Linked issue ✅ Linked #7805
Related work ✅ No active overlap found No same-issue or scoped active PR overlap found.
Change scope ✅ 20/20 Low review scope from cached public metadata (1 linked issue).
Validation posture ✅ 25/25 PR body includes validation/test evidence.
Contributor workload ✅ 10/10 Author activity: 39 registered-repo PR(s), 24 merged, 0 issue(s).
Contributor context ✅ Confirmed Gittensor contributor kai392; Gittensor profile; 39 PR(s), 0 issue(s).
Improvement ✅ Minor risk: clean · value: minor
Linked issue satisfaction

Addressed
The diff replaces the single-page githubJson calls for both the deployments list and per-deployment statuses with findAcrossPages, reusing the existing pagination helper as required, while preserving the sawFailure/sawPending bookkeeping and DeploymentLookup return contract. It also adds regression tests for a deployment on page 2 and a status entry on page 2, matching the deliverables.

Review context
  • Author: kai392
  • Role context: outside_contributor
  • Public audience mode: oss maintainer
  • Lane context: Repository is configured for direct PR review.
  • Public profile languages: JavaScript, Kotlin, Perl, TypeScript, Vue
  • Official Gittensor activity: 39 PR(s), 0 issue(s).
  • PR-specific overlap: none found.
Contributor next steps
  • Keep the PR focused and include validation evidence before maintainer review.
Signal definitions
  • Related work = same linked issue, overlapping active PRs, or title/path similarity.
  • Change scope = cached public metadata such as size labels, draft state, and review-burden hints.
  • Validation posture = whether the PR provides enough public validation/test evidence for maintainer review.
  • Contributor workload = public contributor activity and cleanup pressure, not a repo-wide quality failure.
  • Contributor context = public GitHub/Gittensor identity context; non-Gittensor status is not a blocker.
🧪 Chat with LoopOver

Ask LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.

  • @loopover ask &lt;question&gt; answers contribution-quality Q&A with source citations and freshness.
  • @loopover chat &lt;question&gt; answers in natural prose from cached decision-pack facts via local inference (maintainer/collaborator; read-only).
  • A plain-language @loopover mention with a real question is routed to the closest matching read-only command automatically — no exact syntax required.

Full command reference: https://loopover.ai/docs/loopover-commands

🧪 Experimental — new and may change.

🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed


💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →.

Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.

  • Re-run LoopOver review

@loopover-orb

loopover-orb Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

LoopOver is closing this pull request on the maintainer's behalf (CI is failing (codecov/patch)). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed.

@loopover-orb loopover-orb Bot closed this Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

getLatestDeploymentStatus doesn't paginate deployments/statuses reads, unlike its siblings in the same file

2 participants