You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add the Canvas Design Spec Kit extension with registered JSON templates for Essentials, Artifacts, Appearance, and Result Badges.
Make the required extension checked and locked in Wizard setup; preserve bundle ownership and capture approved selections in a versioned immutable handoff.
Prepare the nested child with Specify, verify selected packages and template provenance, and open the plugin-registered Designer without copying a provider into the child checkout.
Render the Essentials controls with theme switching and live connection status. Leave the other pages empty and Save/Generate disabled; preserve standalone opening without a handoff.
Preserve repeatable asynchronous launches and concurrent bundle inspections from the parent layer.
Stack
Registered as the top member of the existing native stack: #35 → #38 → #36 → #40. Targets nicolehaugen-canvas-designer-launch-pr and is based on the current parent commit 82d2932f25bb1dca4dc15c46db04fcc7b71020d6.
Validation
Full Wizard and provider Node suites passed after rebasing; platform-specific tests are skipped on Windows.
Actual Specify initialization, required-package installation, and page re-resolution passed in an isolated preparation fixture.
9 Playwright browser tests passed after rebasing onto the current parent.
8 Python page-loader integration tests passed.
Inspected light, dark, and narrow layouts.
The live app-native nested-session creation/reload/open flow has not been exercised. This increment uses a validated local development source and does not save or generate canvases.
Adds the required Canvas Design extension and prepares nested Designer sessions to install packages, resolve dynamic pages, and render the Essentials UI.
Changes:
Adds registered JSON page templates and validation.
Adds immutable handoff preparation and package installation.
Adds dynamic Designer UI, browser tests, and CI coverage.
Opening or recovering a handoff-backed panel loads the persisted model against process.cwd(). Even if pages were stored successfully, a host cwd differing from the child checkout causes the saved checkout binding to mismatch and open_canvas fails. Use the same checkout obtained from session RPC metadata here.
Replace the JavaScript installer with skill-driven child initialization and package installation. Preserve validation-only setup checks and require real session skill reloads before Designer opens.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Remove the separate package provenance checker and readiness receipt while retaining immutable handoff validation, registered page loading, and real session skill reloads.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Let the agent resolve templates through Specify, validate and persist the full page set in Node, and support explicit reloads without Python discovery.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Darken light-theme status text while preserving existing tints and dark-theme overrides. Add browser-computed contrast coverage for all three statuses in both themes.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Reuse the Wizard workspace resolver for page validation, loading, reloads and recovery instead of inheriting the extension process cwd. Preserve persisted checkout binding and report unavailable metadata explicitly.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve the merged launch gate and canonical extension package while retaining page loading and checkout resolution.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🟡 Changes recommended
Dev-installing the required extension prevents page-extending presets from composing their generated skill and currently fails both Linux and Windows CI.
1. In the child session, write the exact HANDOFF_JSON bytes into speckit-canvas-designer/handoffs/${handoff.handoffId}/handoff.json under YOUR session-state artifacts (session.workspacePath), not in the repository or the Wizard's artifacts. Do not edit it afterward.
2. YOU perform setup through the Spec Kit skills: invoke the skill tool with each named skill before its CLI commands. Check specify --version (>=1.0.7); use speckit-cli-setup if missing, speckit-self if too old. Work only in YOUR child checkout, never the Wizard checkout.
3. If the child has no .specify directory, use speckit-init with --here --integration copilot --integration-options="--skills" and --script ps on Windows or sh elsewhere, plus --force --non-interactive --ignore-agent-tools. Otherwise skip init; never overwrite an incompatible existing setup. After init, call speckit_designer_reload_skills and require success.
4. Use speckit-extension to install canvas-design from requiredExtension.path with --dev. Then use speckit-bundle for approved bundles, speckit-extension for remaining extensions, and speckit-preset for remaining presets. Use the approved handoff sources and versions; quote shell arguments. Bundles accept IDs/local paths, not --from: for downloadUrl, download a temporary ZIP via the shell, install it with --integration copilot, then clean up; never follow unvalidated redirects. Extensions/presets use their skill's --from form for downloadUrl. Use the skills to inspect CLI results and re-list installed packages, avoiding duplicate installs of components just installed by a selected bundle. Do not treat ID/version alone as proof that an existing package came from the approved source. Report installation errors in the child conversation and stop; do not claim success. Do not commit setup or mutate parent files.
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
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.
Summary
Stack
Registered as the top member of the existing native stack: #35 → #38 → #36 → #40. Targets
nicolehaugen-canvas-designer-launch-prand is based on the current parent commit82d2932f25bb1dca4dc15c46db04fcc7b71020d6.Validation
The live app-native nested-session creation/reload/open flow has not been exercised. This increment uses a validated local development source and does not save or generate canvases.