fix(canvas): keep unpublished improvements local by Copilot · Pull Request #49 · github/replica · GitHub
Skip to content

fix(canvas): keep unpublished improvements local - #49

Merged
Copilot merged 5 commits into
lukasoppermann-pick-and-polish-experiencefrom
copilot/publish-improvement-comments
Oct 21, 2026
Merged

Copilot merged 5 commits into
lukasoppermann-pick-and-polish-experiencefrom
copilot/publish-improvement-comments

Conversation

Copilot AI commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Why

Unpublished Pick & polish improvements must remain on the author's device, even when the branch already has an older published Build. This completes the publication boundary for #42 and depends on the separate comment models and Build contract in #48. It follows the local-source capture approach in #37.

What changes

Starting target selection captures the local Git source without changing the real index. A new note can upload only after a successful published Build matches that captured source and was published after the note was saved. Later edits cannot replace the original capture. Capture failures and older notes without source information still allow local use, with an explicit explanation that they cannot synchronize.

The client saves the chosen Build identity before its first upload, so an uncertain result or restart cannot move the note to another Build. Follow-ups, status changes, and deletions retain that identity. Published improvements remain private to their author and separate from ordinary review comments.

The standalone Storybook prototype app is removed. Small stories use the real conversation component instead of recreating selection, storage and agent behavior. The packaged-renderer check now covers one functional flow rather than asserting colors, spacing and pixels; screenshots support human visual review. The generated anchor validator uses the same Vite minification settings as the existing preview bridge and Controls validator, while its TypeScript source stays readable.

This companion and #48 must land together; the new backend requires build_number on initial uploads.

The retained live conversation and sidebar, captured through the packaged renderer with a local fixture preview and simulated agent answers:

Pick and polish with the saved request, follow-up and two Copilot answers

lukasoppermann and others added 2 commits October 20, 2026 20:01
<!-- Use a conventional commit-style title, such as "fix(hub): retain
prototype history". -->

## Why

<!-- Explain the problem and why this change matters in a short,
plain-English paragraph. Link the issue when applicable. -->

Agents asked to set up a prototyping repository have to assemble
instructions from several guides. This makes local setup easy to confuse
with full guidance authoring, team preparation, or Hub deployment, and
decisions can get lost when moving to a fresh session.

## What changes

<!-- Describe what becomes different for a first-time reader. Explain
necessary terms. Include accurate Mermaid diagrams when they clarify the
proposal, using before/after diagrams when helpful. Add screenshots for
meaningful UI changes. -->
<!-- Omit validation sections, checklists, and routine test/CI summaries
such as "CI is green" or "tests passed". Mention only known verification
gaps that affect the change, not disclaimers about drafting this
description. -->

Add a canonical prototype repository setup guide and link it from the
README, agent instructions, and onboarding guides. It covers new and
existing targets, a paste-ready fresh-session handoff, verifying the
local starter, and continuing only to the requested outcome. The team
setup path now explicitly prepares and shares the reviewed baseline
before Hub setup. Installer and `/setup-skills` behavior stay unchanged.

The cross-session workflow has been reviewed against the existing
instructions but has not been exercised end to end in a fresh setup.

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: a303def4-749a-4a0e-9701-b7004ce1ef0e
Capture source when selecting a target and require a matching published Build before initial synchronization. Retain its identity across retries, follow-ups, and deletion.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI max review requested due to automatic review settings October 21, 2026 00:16
Copilot AI requested review from a team and nshki as code owners October 21, 2026 00:16

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because there is no eligible user to bill.

An enterprise owner can allow the organization to be billed for reviews like this by enabling Copilot code review for users without a license.

lukasoppermann and others added 3 commits October 21, 2026 03:09
<!-- Use a conventional commit-style title, such as "fix(hub): retain
prototype history". -->

## Why

<!-- Explain the problem and why this change matters in a short,
plain-English paragraph. Link the issue when applicable. -->

Authors need to comment before publishing, including with uncommitted
edits. Keeping that feedback on their device avoids storing unpublished
comments in Hub or attaching them to the wrong Build.

## What changes

<!-- Describe what becomes different for a first-time reader. Explain
necessary terms. Include accurate Mermaid diagrams when they clarify the
proposal, using before/after diagrams when helpful. Add screenshots for
meaningful UI changes. -->
<!-- Omit validation sections, checklists, and routine test/CI summaries
such as "CI is green" or "tests passed". Mention only known verification
gaps that affect the change, not disclaimers about drafting this
description. -->

The canvas saves unpublished comments privately on the author's device
across restarts. Authors can edit or delete them. Source edits, commits
and preview reloads preserve the target captured when selection starts.

While open, the canvas uploads comments only when a newer imported Build
matches their saved source. Confirmed uploads remove the local copy;
failures retain it and show an error. Uncertain uploads are checked
against Hub rather than blindly sent again. Published conversations keep
their existing API and access rules, with no Hub draft records or
migration.

Local commenting requires a named branch with an initial commit. Source
capture preserves staged files; active Git clean filters and changed
submodules report an explicit limitation.

![Local comments before first publication, shown with Storybook fixture
data](https://github.com/user-attachments/assets/b7cd4858-5622-4965-a90a-8bcccc83f9f4)

End-to-end publication against an authenticated Hub and full keyboard
and screen-reader review remain unverified. Complete-suite runs also
encountered intermittent canvas publication and checkout UI timeouts.

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 1a0f3eb5-727a-4361-b09e-256fd982857d
Copilot-Session: 81640dc7-0f59-4d95-9037-01b4eb681d03
Keep the live adapter and small presentation stories, replace cosmetic assertions with a functional renderer smoke, and minify the generated anchor validator through the existing Vite build.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Resolve overlapping local-review capture, Hub client renames, canvas selection and documentation changes. Rebuild generated bridge and renderer assets from the merged source.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI merged commit a9a9298 into lukasoppermann-pick-and-polish-experience Oct 21, 2026

Copilot AI commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants