Repository navigation
fix(web): Studio workbench when pack events[] is empty - #1692
Conversation
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>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Snapshot WarningsEnsure 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 FilesNone |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 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. Comment |
There was a problem hiding this comment.
🟡 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>
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.toolsbutevents[]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 splitvideo+vparams. No fake events are invented from keyframes/concepts.Scope
studioEventsEmptyMessage)ARCHITECTURE.md+artifacts.json+ stack names when events are emptystudioQueryFromSearchParamsfor?video=/ splitv=?video=now sets an error instead of staying silentcode_snippetsinto EventsRisk
?video=auto-start misses a rare query encoding.Verification
Head SHA:
dea64489ecd 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 passedProduction evidence
Live GET
https://uvai.io/api/video/pack?url=https://www.youtube.com/watch?v=pBsT6v-ciO8returned 200 (0.25s): transcript 1767 chars; architecture present; artifacts 2;stack.tools= SeaDance 2.5, Claude Fable 5, Character.ai, Cluely Desktop; noeventsfield; 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-uvaiafter CI. Do not treat the live GET as a production Studio E2E.Agent handoff
QA on pBsT6v-ciO8
/studio?video=https://www.youtube.com/watch?v=pBsT6v-ciO8(encoded or raw). Player should loadpBsT6v-ciO8immediately.ARCHITECTURE.mdandartifacts.json. Footer Export is enabled.