Skip to content

feat(builder): dedicated native builder request, worker UI, and pool routing#2740

Open
riderx wants to merge 7 commits into
mainfrom
cursor/dedicated-native-builder-72be
Open

feat(builder): dedicated native builder request, worker UI, and pool routing#2740
riderx wants to merge 7 commits into
mainfrom
cursor/dedicated-native-builder-72be

Conversation

@riderx

@riderx riderx commented Jul 23, 2026

Copy link
Copy Markdown
Member

Summary (AI generated)

  • Adds org-scoped dedicated native builder request + status UI under Organization settings
  • Stores dedicated-builder state in dedicated_builders and preferred pool on build_requests.builder_pool
  • Private API for request / status / cancel / shared-fallback toggle (billing permissions)
  • Build request payload prefers the dedicated pool with optional shared fallback
  • Builds page banner + preferred-pool badges in build history
  • Ops activation remains service-role SQL (no platform-admin write path)

Motivation (AI generated)

Customers with high native-build volume need a dedicated worker/pool for isolation and queue priority, while still falling back to Capgo shared builders when their worker is busy.

Business Impact (AI generated)

Enables an Enterprise-ready dedicated builder offering: self-serve request flow, clear provisioning/worker status, and fallback controls without blocking day-to-day builds.

Test Plan (AI generated)

  • Unit tests for dedicated-builder helpers and builder payload routing
  • Lint / typecheck
  • CI: Run tests (backend, unit, Playwright, Cloudflare) green
  • Manual: request dedicated builder as billing admin; verify pending → active UI after ops activation
  • Manual: toggle shared fallback; confirm preferred-pool column on builds

Visual (AI generated)

Dedicated builder settings UI

Generated with AI

Open in Web Open in Cursor 

Review in cubic

Summary by CodeRabbit

  • New Features

    • Added dedicated builder management to organization settings, including request/provisioning, cancelation, worker details, suspension messaging, and shared-pool fallback controls.
    • Added dedicated builder visibility in the builds dashboard, including new pill indicators for dedicated vs shared pool.
    • Builds can now be routed to dedicated or shared builder pools, with pool information persisted and sent to the builder.
  • UI Improvements

    • Improved build table rendering (status, last error details dialog, and error truncation).
    • Added dedicated builder banner on app builds pages and updated enterprise plan feature list.
  • Tests

    • Added unit coverage for dedicated routing, builder payload shaping, worker status derivation, and public view output.

Let orgs request a dedicated native builder, track provisioning status,
prefer that pool for builds with shared fallback, and surface worker
state in organization settings and build history.

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

coderabbitai Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Adds dedicated native builder lifecycle management, database contracts, private API endpoints, dedicated/shared build routing, organization settings, dashboard messaging, and builder-pool visibility.

Changes

Dedicated native builder

Layer / File(s) Summary
Storage and type contracts
supabase/migrations/..., src/types/supabase.types.ts, supabase/functions/_backend/utils/supabase.types.ts, cli/src/types/supabase.types.ts
Adds the dedicated_builders table, builder_pool metadata, lifecycle constraints, indexes, RLS policies, and synchronized database typings.
Dedicated routing and build persistence
supabase/functions/_backend/utils/dedicated_builder.ts, supabase/functions/_backend/public/build/request.ts, tests/builder-payload.unit.test.ts, tests/dedicated-builder.unit.test.ts
Derives pool routing and worker status, forwards routing to builder jobs, persists the selected pool, and tests routing and view behavior.
Dedicated builder private API
supabase/functions/_backend/private/dedicated_builder.ts, supabase/functions/private/index.ts, cloudflare_workers/api/index.ts
Adds authenticated GET, POST, and PATCH handlers for dedicated builder records and mounts them in private API routers.
Settings client and lifecycle UI
src/services/dedicatedBuilder.ts, src/pages/settings/organization/DedicatedBuilder.vue
Adds client calls and settings UI for requesting, cancelling, loading, and configuring dedicated builders across lifecycle states.
Dashboard and organization integration
src/components/dashboard/DedicatedBuilderBanner.vue, src/components/tables/BuildTable.vue, src/constants/organizationTabs.ts, src/layouts/settings.vue, src/pages/app/[app].builds.vue, messages/en.json, src/pages/settings/organization/Plans.vue
Adds navigation, billing-gated visibility, dashboard banner behavior, pool badges, localized labels, and enterprise plan feature text.

Estimated code review effort: 4 (Complex) | ~60 minutes

Sequence Diagram(s)

sequenceDiagram
  participant OrganizationUser
  participant DedicatedBuilderPage
  participant dedicated_builder
  participant dedicated_builders
  OrganizationUser->>DedicatedBuilderPage: request or update builder
  DedicatedBuilderPage->>dedicated_builder: authenticated API call
  dedicated_builder->>dedicated_builders: validate and mutate lifecycle record
  dedicated_builders-->>dedicated_builder: updated builder state
  dedicated_builder-->>DedicatedBuilderPage: public builder view
  DedicatedBuilderPage-->>OrganizationUser: render lifecycle status
Loading

Suggested labels: codex

Suggested reviewers: dalanir, wcaleniewolny

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 18.18% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the main change: dedicated native builder requests, worker UI, and pool routing.
Description check ✅ Passed It includes summary, motivation, impact, test plan, and visuals; only the checklist section from the template is omitted.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

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

@github-actions

github-actions Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Visual diff passed

Visual changes

Generated at 2026-07-23T16:00:20.797Z. Threshold: 0.1% pixel difference.

Route Diff % Status
login 0.000 unchanged
dashboard 2.905 changed
apps 1.712 changed
app-overview 1.068 changed
channels 0.225 changed
devices 0.638 changed
observe 0.000 unchanged
observe-plugins 0.000 unchanged
api-keys-app-preview 0.000 unchanged

Commit: 96693f089d11051e5c64a4015a1272b014790a32
Download the HTML report from workflow artifacts (artifact: visual-diff-report-96693f089d11051e5c64a4015a1272b014790a32).

Open index.html from the artifact for side-by-side before/after/diff screenshots.

@codspeed-hq

codspeed-hq Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 43 untouched benchmarks
⏩ 2 skipped benchmarks1


Comparing cursor/dedicated-native-builder-72be (96693f0) with main (42b818a)2

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.

  2. No successful run was found on main (7e18610) during the generation of this report, so 42b818a was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@cursor
cursor Bot marked this pull request as ready for review July 23, 2026 15:07
@cursor

cursor Bot commented Jul 23, 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_299be9fd-af6d-4a07-bbe3-c01e3b0db903)

@cursor
cursor Bot requested review from Dalanir and WcaleNieWolny July 23, 2026 15:08

@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: high. Cursor Bugbot did not complete (skipped due to usage limit), so automated review is unavailable. Human review is required for the migration, build routing, and dedicated-builder API/UI changes. Reviewers assigned.

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.

Stale comment

Risk: medium. Cursor Bugbot did not complete successfully (check skipped due to usage limit), so automated review coverage is missing. Human review is required before merge.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver

Use `.some` for tab presence checks and split PATCH handlers to lower
cognitive complexity.

Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
@cursor
cursor Bot temporarily deployed to deepsec-pr July 23, 2026 15:10 Inactive
@cursor

cursor Bot commented Jul 23, 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_8a618dbd-cdf3-465d-b4e3-e54765e1c784)

@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: high. Cursor Bugbot did not complete successfully (skipped due to usage limit), so automated review coverage is missing. Human review is required for the migration, build routing, and dedicated-builder API/UI changes. Reviewers are already assigned.

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.

Stale comment

Risk: high. Cursor Bugbot did not complete (skipped due to usage limit), so automated review coverage is missing. Human review is still required for the migration, build routing, and dedicated-builder API/UI changes. Reviewers are already assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver

@coderabbitai coderabbitai Bot added the codex label Jul 23, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@supabase/functions/_backend/private/dedicated_builder.ts`:
- Around line 44-48: Update requireUpdateBilling to throw the quickError result
when the org.update_billing permission check fails, matching the enforcement
behavior of requireReadBilling and ensuring unauthorized callers cannot reach
the POST/PATCH mutation paths.

In `@supabase/migrations/20260723144749_dedicated_native_builder.sql`:
- Line 28: Constrain the platforms column in the dedicated native builder
migration with a database-level CHECK constraint requiring every array element
to be either "ios" or "android". Apply the same constraint to the related
definitions referenced in the additional locations, while preserving the
existing NOT NULL and empty-array default.
- Around line 11-16: Update the ADD CONSTRAINT statement for
build_requests_builder_pool_check to include NOT VALID, avoiding immediate
validation and the blocking table scan while preserving the existing CHECK
expression.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: bb5fdb8a-b7f1-42c1-8472-255cab40143b

📥 Commits

Reviewing files that changed from the base of the PR and between 7e18610 and 0d58455.

📒 Files selected for processing (20)
  • cli/src/types/supabase.types.ts
  • cloudflare_workers/api/index.ts
  • messages/en.json
  • src/components/dashboard/DedicatedBuilderBanner.vue
  • src/components/tables/BuildTable.vue
  • src/constants/organizationTabs.ts
  • src/layouts/settings.vue
  • src/pages/app/[app].builds.vue
  • src/pages/settings/organization/DedicatedBuilder.vue
  • src/pages/settings/organization/Plans.vue
  • src/services/dedicatedBuilder.ts
  • src/types/supabase.types.ts
  • supabase/functions/_backend/private/dedicated_builder.ts
  • supabase/functions/_backend/public/build/request.ts
  • supabase/functions/_backend/utils/dedicated_builder.ts
  • supabase/functions/_backend/utils/supabase.types.ts
  • supabase/functions/private/index.ts
  • supabase/migrations/20260723144749_dedicated_native_builder.sql
  • tests/builder-payload.unit.test.ts
  • tests/dedicated-builder.unit.test.ts
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • Cap-go/capacitor-updater (manual)

Comment thread supabase/functions/_backend/private/dedicated_builder.ts
Comment thread supabase/migrations/20260723144749_dedicated_native_builder.sql Outdated
Comment thread supabase/migrations/20260723144749_dedicated_native_builder.sql
Make billing guards explicitly throw, add builder_pool CHECK as NOT VALID
to avoid a blocking scan, and constrain dedicated builder platforms.

Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
@cursor
cursor Bot temporarily deployed to deepsec-pr July 23, 2026 15:23 Inactive
@cursor

cursor Bot commented Jul 23, 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_12ca8c8e-1f9c-4f51-98ea-0434e421f59d)

@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: high. Cursor Bugbot did not complete successfully (skipped due to usage limit), so automated review coverage is missing. Human review is still required for the migration, build routing, and dedicated-builder API/UI changes; reviewers are already assigned.

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.

Stale comment

Risk: high. Cursor Bugbot did not complete (skipped due to usage limit), so automated review coverage is missing. Human review is still required for the migration, build routing, and dedicated-builder API/UI changes. Reviewers are already assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver

@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.

All reported issues were addressed

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread src/pages/settings/organization/DedicatedBuilder.vue Outdated
Comment thread src/components/tables/BuildTable.vue Outdated
Comment thread src/components/dashboard/DedicatedBuilderBanner.vue Outdated
Comment thread supabase/functions/_backend/utils/dedicated_builder.ts Outdated
Comment thread supabase/functions/_backend/private/dedicated_builder.ts
Comment thread src/services/dedicatedBuilder.ts Outdated
Comment thread supabase/migrations/20260723144749_dedicated_native_builder.sql Outdated
Comment thread src/components/dashboard/DedicatedBuilderBanner.vue Outdated
Comment thread cli/src/types/supabase.types.ts
Comment thread messages/en.json Outdated
Guard stale org loads, resolve banner org by app, surface invoke error
codes, avoid false idle/busy from preferred-pool counts, and render pool
badges via DataTable renderFunction.

Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
@cursor
cursor Bot temporarily deployed to deepsec-pr July 23, 2026 15:29 Inactive
@cursor

cursor Bot commented Jul 23, 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_565850c3-6fe1-4f66-8dc4-29138647dd41)

@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: high. Cursor Bugbot did not complete successfully (skipped due to usage limit), so automated review coverage is missing. Human review is still required for the migration, build routing, and dedicated-builder API/UI changes; reviewers are already assigned.

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.

Stale comment

Risk: high. Cursor Bugbot did not complete successfully (skipped due to usage limit), so automated review coverage is missing. Human review is still required for the migration, build routing, and dedicated-builder API/UI changes. Reviewers are already assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/components/dashboard/DedicatedBuilderBanner.vue (1)

86-87: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Preserve the resolved organization when opening settings.

Line 87 navigates without the organization resolved from appId. When this app belongs to a non-selected organization, the banner shows that app’s builder state but the CTA opens the selected organization’s dedicated-builder settings. Retain the resolved orgId and pass/select it through the settings navigation flow.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/dashboard/DedicatedBuilderBanner.vue` around lines 86 - 87,
Update goToDedicatedBuilder to preserve the organization resolved from appId
when navigating to dedicated-builder settings. Pass the resolved orgId through
the router navigation so the settings view opens for that organization instead
of the currently selected one, using the existing settings navigation parameter
or selection mechanism.
supabase/functions/_backend/utils/dedicated_builder.ts (1)

49-58: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Respect the dedicated builder’s supported platforms.

An active iOS-only dedicated pool is currently selected for Android builds because routing never evaluates row.platforms.

  • supabase/functions/_backend/utils/dedicated_builder.ts#L49-L58: accept the requested platform and return null when the pool does not support it.
  • supabase/functions/_backend/public/build/request.ts#L482-L506: pass the validated platform into dedicated-pool routing.
  • tests/dedicated-builder.unit.test.ts#L51-L89: cover supported-platform routing and unsupported-platform fallback.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@supabase/functions/_backend/utils/dedicated_builder.ts` around lines 49 - 58,
Update toDedicatedPoolRouting to accept the validated requested platform and
return null when row.platforms does not include it, while preserving existing
active-builder checks and routing fields. In
supabase/functions/_backend/public/build/request.ts lines 482-506, pass platform
to the routing call. In tests/dedicated-builder.unit.test.ts lines 51-89, add
coverage for supported-platform routing and unsupported-platform fallback.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/components/tables/BuildTable.vue`:
- Around line 328-337: Add an accessible name to the icon-only button in the
BuildTable render block by providing a descriptive aria-label that tells
screen-reader users it opens the full error details. Keep the existing click
behavior and IconEye rendering unchanged.

In `@src/pages/settings/organization/DedicatedBuilder.vue`:
- Line 45: Update the canReadBilling permission watcher around
loadDedicatedBuilder so it invokes the loader on both true and false
transitions, rather than only when permission is granted. Reuse the existing
no-permission branch in loadDedicatedBuilder to clear dedicatedBuilder and
increment loadToken, ensuring in-flight responses fail the token check after
read access is revoked.

In `@supabase/migrations/20260723144749_dedicated_native_builder.sql`:
- Line 9: Update the migration’s column comments and the line 18 ANY expression
to satisfy SQLFluff: wrap long comment text across lines without changing its
meaning, and format the ANY(...) usage according to the configured SQL style.
Keep the migration behavior and schema unchanged.

---

Outside diff comments:
In `@src/components/dashboard/DedicatedBuilderBanner.vue`:
- Around line 86-87: Update goToDedicatedBuilder to preserve the organization
resolved from appId when navigating to dedicated-builder settings. Pass the
resolved orgId through the router navigation so the settings view opens for that
organization instead of the currently selected one, using the existing settings
navigation parameter or selection mechanism.

In `@supabase/functions/_backend/utils/dedicated_builder.ts`:
- Around line 49-58: Update toDedicatedPoolRouting to accept the validated
requested platform and return null when row.platforms does not include it, while
preserving existing active-builder checks and routing fields. In
supabase/functions/_backend/public/build/request.ts lines 482-506, pass platform
to the routing call. In tests/dedicated-builder.unit.test.ts lines 51-89, add
coverage for supported-platform routing and unsupported-platform fallback.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 0a5813ad-3aa2-4d66-9b08-64ad3870ee5f

📥 Commits

Reviewing files that changed from the base of the PR and between 0d58455 and 64b9267.

📒 Files selected for processing (14)
  • cli/src/types/supabase.types.ts
  • messages/en.json
  • src/components/dashboard/DedicatedBuilderBanner.vue
  • src/components/tables/BuildTable.vue
  • src/pages/app/[app].builds.vue
  • src/pages/settings/organization/DedicatedBuilder.vue
  • src/services/dedicatedBuilder.ts
  • src/types/supabase.types.ts
  • supabase/functions/_backend/private/dedicated_builder.ts
  • supabase/functions/_backend/public/build/request.ts
  • supabase/functions/_backend/utils/dedicated_builder.ts
  • supabase/functions/_backend/utils/supabase.types.ts
  • supabase/migrations/20260723144749_dedicated_native_builder.sql
  • tests/dedicated-builder.unit.test.ts
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • Cap-go/capacitor-updater (manual)

Comment thread src/components/tables/BuildTable.vue
Comment thread src/pages/settings/organization/DedicatedBuilder.vue
Comment thread supabase/migrations/20260723144749_dedicated_native_builder.sql Outdated
Co-authored-by: Martin DONADIEU <martindonadieu@gmail.com>
@cursor

cursor Bot commented Jul 23, 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_6db56c89-a289-4b7f-ba0d-2d24a5fedfae)

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

cursor Bot commented Jul 23, 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_6363c7b0-5880-4469-a6c9-0bc4e8a40bc3)

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

cursor Bot commented Jul 23, 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_243ec378-7a77-4c35-a8f9-0c6d6f459d4e)

@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: high. Cursor Bugbot did not complete successfully (skipped due to usage limit), so automated review coverage is missing. Human review is still required for the migration, build routing, and dedicated-builder API/UI changes. Reviewers are already assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver External

@cursor
cursor Bot temporarily deployed to deepsec-pr July 23, 2026 15:43 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: high. Cursor Bugbot did not complete successfully (skipped due to usage limit), so automated review coverage is missing. Human review is still required for the migration, build routing, and dedicated-builder API/UI changes; reviewers are already assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Approver

@sonarqubecloud

Copy link
Copy Markdown

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants