Skip to content

fix: wire BACKEND_URL so studio.deploy can emit a live URL receipt - #1848

Merged
kk-agent merged 3 commits into
mainfrom
cursor/studio-backend-url-gate-4db2
Sep 12, 2026
Merged

fix: wire BACKEND_URL so studio.deploy can emit a live URL receipt#1848
kk-agent merged 3 commits into
mainfrom
cursor/studio-backend-url-gate-4db2

Conversation

@groupthinking

@groupthinking groupthinking commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Canonical issue

CoS-named UVAI cut (Hayden / AXIOM E2E): studio.deploy live-URL receipt HOLDs solely because BACKEND_URL is not configured.

Outcome

Studio Attempt deploy on uvai.io / v0-uvai no longer treats a missing dashboard BACKEND_URL as “unconfigured.” Production builds pin the verified Cloud Run hostname https://api.uvai.io (live /api/v1/health = 200). G.A.T.E. PASSes only with a verified https:// live URL + EventRelay receipt (clickable). Otherwise honest HOLD/REJECT/ESCALATE with visible receipt id/hash. No “Deploy completed” overclaim.

Scope

  • Included:
    • Resolve backend origin from static BACKEND_URL || NEXT_PUBLIC_BACKEND_URL || NEXT_PUBLIC_API_URL
    • Pin those names in apps/web/.env.production and next.config.js (env.BACKEND_URL) to https://api.uvai.io on production builds
    • Pass through a backend-supplied nested live_url (never invent one)
    • Jobs proxy uses request-time config
    • PASS chip shows a clickable live URL (studio-gate-live-url)
  • Explicitly excluded:
    • Inventing a live URL
    • Weakening G.A.T.E.
    • Setting Vercel dashboard secrets (EVENTRELAY_API_KEY) — this environment has no Vercel env-write token

Risk

  • Risk level: low
  • Failure mode: if the backend job returns no verified https live URL, Studio HOLDs with missing-receipt (not missing-env)
  • Rollback: revert this PR; G.A.T.E. contract unchanged

Verification

  • Focused tests: 67 passed (pipeline-backend, pipeline-backend-health, action-tools, gate-transition, pipeline-async-job, isolation)
  • Full apps/web vitest on prior SHA: 602 passed / 1 skipped
  • Required CI on 5ac85930e
  • Review threads resolved

Production evidence

  • Live probe (this run): https://api.uvai.io/api/v1/health → HTTP 200
  • Live probe: POST /api/v1/videos/process without X-API-Key → HTTP 401 (Authentication required)
  • Exact BACKEND_URL value used: https://api.uvai.io
  • After merge: expect prod READY dpl_… on v0-uvai. AXIOM re-dogfoods XYMcBrFSJ4c — must not HOLD solely for missing BACKEND_URL.

Agent handoff

  • One canonical cut (studio.deploy BACKEND_URL receipt)
  • No competing open PR for the same issue
  • Acceptance criteria satisfied on prod Attempt deploy
  • Required checks pass on the current head
  • Human decision requested only if setting EVENTRELAY_API_KEY on Vercel (Hayden-only secret)
Open in Web Open in Cursor 

Studio Attempt deploy HOLDs when getBackendConfig only reads BACKEND_URL
while .env.production already pins NEXT_PUBLIC_API_URL=https://api.uvai.io.
Resolve BACKEND_URL || NEXT_PUBLIC_BACKEND_URL || NEXT_PUBLIC_API_URL so
G.A.T.E. can emit a verified live URL receipt when the backend returns one.

Co-authored-by: Hayden <groupthinking@users.noreply.github.com>
@vercel

vercel Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
v0-uvai Ready Ready Preview, v0 Sep 12, 2026 1:43am UTC

@github-actions github-actions Bot added documentation Improvements or additions to documentation javascript Pull requests that update javascript code tests labels Sep 12, 2026
@github-actions

github-actions Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 81330b5.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 9bf32f6d-6468-4c76-94b9-ee634a37839b


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.

❤️ Share

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

cursoragent and others added 2 commits September 12, 2026 01:42
Vercel does not inject unset dashboard env vars. Statically read
BACKEND_URL / NEXT_PUBLIC_* and pin https://api.uvai.io on production
builds so G.A.T.E. can emit a verified live URL receipt. PASS shows a
clickable live URL; HOLD/REJECT still keep the EventRelay receipt chip.

Co-authored-by: Hayden <groupthinking@users.noreply.github.com>
Co-authored-by: Hayden <groupthinking@users.noreply.github.com>
@kk-agent
kk-agent marked this pull request as ready for review September 12, 2026 01:43
@kk-agent
kk-agent merged commit ca030e1 into main Sep 12, 2026
41 checks passed
@kk-agent
kk-agent deleted the cursor/studio-backend-url-gate-4db2 branch September 12, 2026 01:47
@linear-code

linear-code Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

GRV-525

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

Labels

documentation Improvements or additions to documentation javascript Pull requests that update javascript code tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants