Skip to content

fix(cli): refuse delta uploads over 10k files + docs#2759

Merged
riderx merged 5 commits into
mainfrom
cursor/delta-manifest-10k-cli-refuse-d719
Jul 27, 2026
Merged

fix(cli): refuse delta uploads over 10k files + docs#2759
riderx merged 5 commits into
mainfrom
cursor/delta-manifest-10k-cli-refuse-d719

Conversation

@riderx

@riderx riderx commented Jul 25, 2026

Copy link
Copy Markdown
Member

Summary (AI generated)

  • CLI refuses delta uploads when the prepared manifest has more than 10,000 files (before creating a version row or uploading)
  • Same guard in uploadPartial as defense in depth
  • Shared MAX_MANIFEST_ENTRIES constant in the CLI (kept in sync with set_manifest)
  • Backend test coverage for error_manifest_too_large
  • Documented in CLI --delta help, cli/webdocs/bundle.mdx, and release-management skill

Motivation (AI generated)

Backend set_manifest already rejects oversized manifests. Without a CLI pre-check, users can spend time uploading thousands of delta files and then fail at finalize. Matching the cap client-side gives an immediate, actionable error (--no-delta or fewer files).

Business Impact (AI generated)

Fewer failed/incomplete delta uploads and clearer guidance for large asset trees, while keeping the production-safe 10k ceiling already enforced by the API.

Test Plan (AI generated)

  • CLI check after prepareBundlePartialFiles and again in uploadPartial
  • Integration test asserts error_manifest_too_large for 10,001 entries
  • CI green on this PR
  • Manual: bundle with >10k files + --delta exits before upload
  • Manual: same bundle with --no-delta still uploads as zip

Landing FAQ / docs PR (AI generated)

Website PR is blocked here: cursor[bot] has no push access to Cap-go/website. Ready-to-apply edits for a separate landing PR:

apps/docs/src/content/docs/docs/faq.mdx (Delta limitations list):

- **File count:** Delta uploads are limited to **10,000 files** per bundle version. The CLI refuses the upload before sending files when the limit is exceeded. Use a full bundle upload (`npx @capgo/cli@latest bundle upload --no-delta`) or reduce the number of files in your web build output.

apps/docs/src/content/docs/docs/live-updates/differentials.mdx (Delta update limitations):

- **File count:** Capgo accepts at most **10,000 files** in a Delta (manifest) upload. The CLI checks this before upload and exits with an error if your build folder has more files. Prefer a full zip upload with `--no-delta`, or trim unused assets from your web build.

Suggested website branch name: cursor/delta-manifest-file-limit-faq-d719.

Generated with AI

Open in Web Open in Cursor 

Review in cubic

Match the set_manifest entry cap in the CLI before creating a version or
uploading files, document the limit, and cover the backend rejection.

Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 20 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 2b07c988-02f0-4472-8ea4-93e6b5e08a15

📥 Commits

Reviewing files that changed from the base of the PR and between 6b63937 and 29d3542.

📒 Files selected for processing (8)
  • cli/skills/release-management/SKILL.md
  • cli/src/bundle/partial.ts
  • cli/src/bundle/upload.ts
  • cli/src/index.ts
  • cli/src/utils.ts
  • cli/webdocs/bundle.mdx
  • supabase/functions/_backend/private/set_manifest.ts
  • tests/set-manifest.test.ts

Comment @coderabbitai help to get the list of available commands.

@codspeed-hq

codspeed-hq Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 43 untouched benchmarks
⏩ 2 skipped benchmarks1


Comparing cursor/delta-manifest-10k-cli-refuse-d719 (29d3542) with main (30b5178)

Open in CodSpeed

Footnotes

  1. 2 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
@cursor
cursor Bot temporarily deployed to deepsec-pr July 25, 2026 16:39 Inactive
Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
@cursor
cursor Bot temporarily deployed to deepsec-pr July 25, 2026 16:53 Inactive
@cursor
cursor Bot marked this pull request as ready for review July 25, 2026 17:00
@cursor

cursor Bot commented Jul 25, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_543b34c6-b438-4d33-8f29-8be350c09991)

@cursor
cursor Bot requested review from Dalanir and WcaleNieWolny July 25, 2026 17:01

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale comment

Risk: low. Not approving: Cursor Bugbot did not complete successfully (check skipped; usage limit reached). Human review requested for this CLI guard change.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale comment

Risk: low. Cursor Bugbot skipped (usage limit reached), so the automated review did not complete successfully. Human review is needed before merge; no reviewers were assigned because the PR author is the sole repo collaborator.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver External

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 7 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Re-trigger cubic

Give a clear why/what-to-do message when refusing oversized delta
uploads, and align API/docs wording with the same guidance.

Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
@cursor

cursor Bot commented Jul 25, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_896d8456-9ac6-4d35-a475-eb9ebbf87a07)

@cursor

cursor Bot commented Jul 25, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_9bf34a5c-cee4-4604-86bb-0e45bda01ded)

@cursor
cursor Bot temporarily deployed to deepsec-pr July 25, 2026 17:07 Inactive

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Risk: low. Not approving: Cursor Bugbot did not complete successfully (check skipped; usage limit reached). Human review is still required; Dalanir and WcaleNieWolny are already assigned as reviewers.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver External

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Risk: low. Not approving: Cursor Bugbot did not complete successfully (check skipped; usage limit reached). Human review is still needed; Dalanir and WcaleNieWolny are already requested as reviewers.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver

@sonarqubecloud

Copy link
Copy Markdown

@riderx
riderx merged commit 87cbc99 into main Jul 27, 2026
56 checks passed
@riderx
riderx deleted the cursor/delta-manifest-10k-cli-refuse-d719 branch July 27, 2026 11:26
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