Skip to content

fix(web): Studio workbench when pack events[] is empty - #1692

Merged
kk-agent merged 2 commits into
mainfrom
cursor/studio-empty-events-playflow-14b8
Sep 8, 2026
Merged

kk-agent merged 2 commits into
mainfrom
cursor/studio-empty-events-playflow-14b8

Conversation

@groupthinking

Copy link
Copy Markdown
Owner

Canonical issue

Hayden flagged https://uvai.io/studio?video=https://www.youtube.com/watch?v=pBsT6v-ciO8. No GitHub issue number was attached to this cut.

Outcome

Studio no longer dead-ends on packs that have a transcript + architecture + artifacts + stack.tools but events[] empty (or missing). The Events rail tells the truth, pack formation is promoted as the workbench, and Export writes those files. ?video= Home/share handoffs still start the player/analysis, including unencoded watch URLs and split video + v params. No fake events are invented from keyframes/concepts.

Scope

  • Included:
    • Honest Events empty state after a completed run (studioEventsEmptyMessage)
    • Promoted “From this pack” workbench (architecture + artifacts + Export pack) when events are empty
    • Export of ARCHITECTURE.md + artifacts.json + stack names when events are empty
    • studioQueryFromSearchParams for ?video= / split v=
    • Invalid ?video= now sets an error instead of staying silent
  • Explicitly excluded:
    • Origin G.A.T.E., ClipToAction, forge
    • Mapping keyframes/concepts/code_snippets into Events
    • Ship checkout or Maintain/Ship catalog
    • Production E2E claims for arbitrary videos

Risk

  • Risk level: low
  • Failure mode: Empty-events copy or export zip shape is wrong; ?video= auto-start misses a rare query encoding.
  • Rollback: revert this PR; Studio returns to “Events show up after Run.” and transcript-only export gating.

Verification

Head SHA: dea64489e

  • Focused tests: cd apps/web && npx vitest run src/lib/__tests__/studio-handoff.test.ts src/lib/__tests__/studio-pipeline-status.test.ts src/lib/__tests__/action-surface.test.ts src/lib/__tests__/uvai-surface-unification.test.ts src/lib/__tests__/home-sell-surface.test.ts → 5 files, 43 passed
  • Required CI
  • Review threads resolved

Production evidence

Live GET https://uvai.io/api/video/pack?url=https://www.youtube.com/watch?v=pBsT6v-ciO8 returned 200 (0.25s): transcript 1767 chars; architecture present; artifacts 2; stack.tools = SeaDance 2.5, Claude Fable 5, Character.ai, Cluely Desktop; no events field; keyframes 11 / concepts 8 / code_snippets 3 exist on the pack and are not mapped into Events.

This PR is UI/playflow only. Preview on Vercel v0-uvai after CI. Do not treat the live GET as a production Studio E2E.

Agent handoff

  • One canonical issue is linked
  • No competing PR implements the same issue
  • Acceptance criteria are satisfied (empty events workbench + honest copy + export + handoff)
  • Required checks pass on the current head
  • Human decision is requested only for product, security, irreversible infrastructure, or production approval

QA on pBsT6v-ciO8

  1. Open /studio?video=https://www.youtube.com/watch?v=pBsT6v-ciO8 (encoded or raw). Player should load pBsT6v-ciO8 immediately.
  2. After Run: transcript panel has ~1767 chars; Events says this pack has no extracted events (not “show up after Run” / not a forever spinner).
  3. “From this pack” shows architecture + 2 artifacts above the Events rail; named tools / stack remain visible.
  4. Export pack downloads a zip with ARCHITECTURE.md and artifacts.json. Footer Export is enabled.
  5. Confirm Events is not filled with keyframes or invented titles.
Open in Web Open in Cursor 

Honest empty Events copy after a completed run, promote
architecture/artifacts, and export pack files without inventing events.
Also reconstruct split ?video= + v= handoffs from Home/share URLs.

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

vercel Bot commented Sep 8, 2026 •

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated
v0-uvai Building Building Preview, v0 Sep 8, 2026 4:44pm UTC

@github-actions github-actions Bot added documentation Improvements or additions to documentation javascript Pull requests that update javascript code tests labels Sep 8, 2026
@groupthinking
groupthinking marked this pull request as ready for review September 8, 2026 16:34
@github-actions

github-actions Bot commented Sep 8, 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 e0db2e4.
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

Copilot AI balanced review requested due to automatic review settings September 8, 2026 16:34
@coderabbitai

coderabbitai Bot commented Sep 8, 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: 506f9143-b89e-4302-927d-7e0b0696639c


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.

Copilot AI 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.

🟡 Changes recommended

Failed runs are treated as completed, and tools-only packs produce an empty promoted workbench with inaccurate messaging.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Improves Studio handling for useful Video Packs with empty or missing events.

Changes:

  • Adds honest empty-event states and promotes pack outputs.
  • Supports raw and split YouTube query handoffs.
  • Exports architecture, artifacts, and stack metadata with focused tests.
File summaries
File Description
apps/web/src/lib/studio-playflow-PLAN.md Documents scope and verification.
apps/web/src/lib/studio-pipeline-status.ts Adds empty-state, promotion, export, and validation helpers.
apps/web/src/lib/studio-handoff.ts Reconstructs Studio query handoffs.
apps/web/src/lib/action-surface.ts Adds pack formation files to exports.
apps/web/src/components/OneLoopStudio.tsx Integrates workbench, export, and handoff behavior.
apps/web/src/lib/__tests__/studio-pipeline-status.test.ts Tests new Studio status behavior.
apps/web/src/lib/__tests__/studio-handoff.test.ts Tests encoded and split handoffs.
apps/web/src/lib/__tests__/action-surface.test.ts Tests empty-event pack exports.
Review details
  • Files reviewed: 8/8 changed files
  • Comments generated: 4
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Strict TypeScript does not treat Boolean(selected) as a guard.

Co-authored-by: Hayden <groupthinking@users.noreply.github.com>
@kk-agent
kk-agent merged commit ed93de5 into main Sep 8, 2026
24 of 25 checks passed
@kk-agent
kk-agent deleted the cursor/studio-empty-events-playflow-14b8 branch September 8, 2026 16:45
@linear-code

linear-code Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

GRV-498

This branch was successfully deployed

1 active deployment
Preview — e0db2e45 Deployed Sep 8, 2026 by vercel[bot]
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.

4 participants