fix(mount): fall back when GitHub tree cursor stalls - #512
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe GitHub working-tree snapshot now detects repeated pagination cursors and returns a malformed-pagination error. Tests verify the error details and confirm that reconciliation falls back to bounded tree traversal. ChangesGitHub pagination validation
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. A rabbit checks each cursor’s trail Comment |
Relayfile Eval ReviewRun: Passed: 4 | Needs human: 0 | Reviewable: 0 | Missing output: 0 | Failed: 0 | Skipped: 0 Human Review CasesNo reviewable human-review cases captured Relayfile output. |
Summary
Production diagnosis
The failed Agent37 zero-config mount authenticated successfully: all 34 Relayfile responses in the mount window were HTTP 200. The GitHub contents tree then received the same non-empty cursor three times before the one-shot mount exited. The snapshot loop was the only mount pagination loop without a repeated-cursor guard.
Validation
No API contract, server route, dependency, credential, or provider mutation changes.
Note
Medium Risk
Changes GitHub bootstrap pagination behavior; incorrect guards could block mounts or skip tar seed when the server is healthy.
Overview
GitHub working-tree snapshot pagination now fails closed when
ListTreereturns a non-emptynextcursor that does not advance or repeats a cursor already seen, using the existingMalformedPaginationError/ErrMalformedPaginationpath (feed labelgithub working-tree). That stops the verification snapshot from spinning until reconcile expires—the gap other paginated feeds already guarded against.When the tar-seed path hits this error, bootstrap continues via the existing bounded resumable tree pull instead of starting tar export after a broken snapshot.
Comments are generalized from “events” to any paginated feed. Tests cover direct snapshot rejection after two identical cursors and a full
Reconcilethat completes bootstrap and materializes files without calling tar export.Reviewed by Cursor Bugbot for commit 49fd1c2. Bugbot is set up for automated code reviews on this repo. Configure here.