feat(ai-build): cold-start handoff to Studio — primary CTA + artifact pillar deep links (ADR-0080 D5)#2623
Merged
Merged
Conversation
… pillar deep links (ADR-0080 D5)
The AI build flow ended in a dead-end: a finished build's primary action was
"Open app" (the published front-end), leaving the maker in the full-screen
chat page instead of Studio — the surface built for iteration (direct edit +
the same copilot conversation in the dock). The v2 workbench assessment's
verdict: Studio IS the workbench; the cold-start funnel just never delivered
you there.
- plugin-chatbot (BuildProgressPanel):
- new `onDesignBuiltApp`/`designBuiltAppLabel` — renders "Design in Studio"
as the PRIMARY action on a finished build; "Open app" demotes to a
secondary. Hosts that don't pass it keep the old layout (back-compat).
- new `getArtifactAction` — done-build artifact rows become deep links to
each artifact's direct-edit home; the host returns null for types with
no home (seed/dataset) → plain text, never a dead link. Mid-build rows
stay plain (half-built artifacts have nowhere stable to land).
- app-shell:
- `artifactStudioPath()` — object → Data, flow → Automations (the reserved
`?surface=flow:` consumer gets its FIRST producer), dashboard/page →
Interfaces surface, view → its owning object's canvas leaf, app →
Interfaces home; null otherwise. Unit-tested.
- AiChatPage wires both: Studio route from the canvas package segment
(one package = one app), same conversation continues in the Studio dock.
- i18n: `console.ai.designBuiltApp` = "Design in Studio" / 「进入 Studio 继续完善」.
Because the done card re-renders from history, reopened package conversations
carry the same primary Studio CTA — the conversation's "home" affordance moves
to Studio without any entry redirect (deliberate: no forced navigation; the
conversation-list metadata needed for a true entry redirect is a cross-repo
API change kept out of scope).
Tests: plugin-chatbot 216 passed (3 new: primary/demoted actions, artifact
links + null→plain, streaming stays plain); app-shell 86 passed (7 new for
artifactStudioPath); type-check green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
✅ Console Performance Budget
📦 Bundle Size Report
Size Limits
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the v2 "one workbench" assessment's two S-sized knives: the AI build flow now ENDS at Studio's doorstep instead of a dead-end chat page.
What changed
① Cold-start handoff (primary CTA) — a finished build's primary action is now "Design in Studio" / 「进入 Studio 继续完善」 →
/studio/<pkg>/interfaces, where direct editing and the SAME copilot conversation (shell-level dock,(user, package, build)scope) continue. "Open app" (the published front-end) demotes to a secondary action. Hosts that don't pass the new prop keep the old layout.② Artifact pillar deep links — every artifact row on the done card links to its direct-edit home (ADR-0080 D5: every AI product gets a no-AI edit path):
?surface=object:<name>)?surface=flow:consumer)History-safe by construction: the package id comes from the build's OWN draft envelope (
draftReview.packageId), threaded throughBuildProgressPanel— reloaded conversations carry the same CTA + links without any live-canvas runtime state. This makes the reopened package conversation's "home" affordance Studio, without a forced entry redirect (the conversation-list metadata a true redirect needs is a cross-repo API change, deliberately out of scope).Verification
artifactStudioPath); type-check green./studio/app.rmpe/interfaces; object link lands/studio/app.rmpe/data?surface=object:rmpe_customer; flow deep-link opens the Automations pillar with the flow selected (trigger/status/nodes visible); the same conversation continues in the Studio dock.🤖 Generated with Claude Code