rename canvas → program - #562
Merged
Merged
Conversation
Rename the per-session orchestration "canvas" to "program" across the
whole surface: MCP tools (construct_program_*), wire-protocol methods
(program.*), CLI verbs (construct program ...), protocol types (Program*),
client methods, TUI labels/tooltips, the autonomous run contract, and
specs 0041–0050 (files + content).
On-disk artifacts move from canvas.{md,json}, canvas-revisions.jsonl,
canvas-run-context.json and data/canvas/templates to their program.*
counterparts, with a lazy, idempotent migration on first read so existing
sessions keep their content (no manual steps, no data loss).
Vendored xterm assets and the mini-matrix <canvas> element (index.html,
web_smoke.rs) are genuine HTML canvases unrelated to this feature and are
intentionally left untouched.
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.
Renames the per-session orchestration surface from canvas to program across the entire stack. Pure rename — no behavior change beyond the names.
What changed
construct_canvas_*→construct_program_*(get / list_templates / edit / update / execute)canvas.*IPC methods →program.*; protocol typesCanvas*→Program*construct canvas <get|set|edit|run|templates>→construct program …canvas_get/update/edit/execute/templates→program_*C-x Spaceopens program)program_runcontext field,CONSTRUCT_PROGRAM_RUN_CONTEXT_FILE, system-prompt proseData migration
On-disk artifacts move to
program.md/program.json/program-revisions.jsonl/program-run-context.jsonanddata/program/templates. A lazy, idempotent migration renames any surviving legacycanvas.*files to theirprogram.*counterparts on first read — existing sessions keep their content with no manual steps and no data loss.Deliberately untouched
The 16
canvasreferences inindex.htmland 9 inweb_smoke.rsare real HTML<canvas>elements (xterm terminal screen + mini-matrix rain), unrelated to this feature — excluded from the rename. Vendoredxterm.*and.bakfiles also excluded.Verification
cargo build— green (only pre-existingopen_urlunused-Resultwarnings)cargo testfor protocol / daemon / cli / client / mcp — 442 passed; the lone failure was the knownpty_rendertiming benchmark flaking under concurrent build load, confirmed passing in isolationweb_smoke.rs) compile against the renamed symbols🤖 Generated with Claude Code