Pimp My IDEBack to the garage
Dispatch 389 / interface craft

A shared canvas needs a contract

VS Code 1.142 puts interactive canvases beside agent chat. The useful question is not whether a board looks better than text. It is who can change the board, where state lives, and what survives the next session.

16 Oct 20267 minute readInterface craftPreview reviewed. No product test.

Chat is a weak place to hold a work object

A plan, triage queue, diagram, or release checklist has structure. Chat can discuss that structure, but each correction becomes another message. The current object is buried among proposals, explanations, and stale states.

VS Code 1.142 adds preview canvases to supported local Copilot Agent Host sessions. A canvas extension can put an interactive artifact beside the chat. A person can use its controls. The agent can call actions that inspect or change the same state.

Evidence boundaryThis dispatch read the stable release notes, the VS Code harness documentation, and GitHub's canvas extension documentation and catalog. It did not install VS Code 1.142 or run a canvas extension. The board below drafts a review contract. It does not certify an extension.

The interface is now part of the tool

GitHub's documentation says a generated canvas commonly has package.json, an entry file such as extension.mjs, and optional JSON artifacts for saved state. Project-scoped canvases can live under .github/extensions. Personal canvases can live under ~/.copilot/extensions.

That means a canvas is more than a rendered answer. It has code, state, actions, and placement. Review those pieces as a small application.

Name the artifact

Decide whether the board edits a repository file, extension-owned JSON, a remote system, or temporary memory. If two stores can disagree, name which one wins and how the other one refreshes.

Separate human controls and agent actions

A button and an agent-callable action may reach the same mutation. They still need separate names, permissions, validation, and error messages. A visible control does not prove the agent has the same authority. An agent action does not prove the person can undo it.

Write the reopen rule

The VS Code documentation says a live canvas can close and reopen when the extension supports it. That phrase carries the hard part. Record what must survive reload, session change, failed writes, and extension updates.

Preview limits belong in the design

VS Code documents canvases as a desktop preview for supported local Copilot Agent Host sessions. The same page excludes Claude, Codex, Local extension-host sessions, remote Agent Host sessions, browser clients, and auxiliary-window hosting.

Build a plain fallback for the work object. A repository file, issue list, or exported receipt keeps the task inspectable when the canvas is unavailable. Do not let a preview-only interface become the sole record of a release decision.

Catalog entries show the range

The current community catalog includes an APNG editor, a pull request artifact explorer, and read-only Azure cost and resource views. Those examples do not share one risk profile. An image editor, a file browser, and a cloud query panel need different action limits and recovery tests.

The shared rule is simple. Review the state and actions, not the screenshot.

Interactive makeover / contract board

Wire both operators to one state

A normal checklist hides causality. This board shows human input, agent actions, saved state, and replay evidence as separate connections to one artifact.

Canvas contract board / teaching fixture0 of 4 clauses selected
Select clauses for the review template

Traditional purpose replaced: a static extension review checklist. This connected board is better when two actors can mutate one work object because each authority path remains visible.

Review templateEvidence required