Stackon
build · version control

Git for the agents behind your canvas.

Commit a canvas and Stackon freezes an immutable snapshot of its name, description, and every node — role, model, and full system prompt. Diff any two versions field by field, then revert to one in a click without ever losing the trail.

versions · canvas@v7v6 → v7
  1. v7Reviewer cites line numbers
  2. v6revertRevert to v4
  3. v5Add Tester node
#1modifiedReviewersystem_prompt
-You are a terse code reviewer.
+You are a code reviewer. Cite line
+numbers in every finding.
Flag security issues first.
1added1modified0removed3unchanged
Immutable commit snapshotsField-level prompt diffsOne-click auditable revert

01

Every commit is a frozen snapshot

Hitting Commit on the canvas captures the whole bundle — name, description, and the ordered pipeline of nodes with each one's role, model, and system prompt — into a single immutable version. Snapshots are stored as structured JSON, so they survive node edits, deletes, and re-ordering. Add a message, and that version stays exactly as it was, forever.

versions · canvas@v7v6 → v7
  1. v7Reviewer cites line numbers
  2. v6revertRevert to v4
  3. v5Add Tester node
#1modifiedReviewersystem_prompt
-You are a terse code reviewer.
+You are a code reviewer. Cite line
+numbers in every finding.
Flag security issues first.
1added1modified0removed3unchanged

02

Diff two versions, line by line

Pick any two versions and Stackon walks the pipeline position by position. Nodes are marked Added, Removed, Modified, or Unchanged, with a running count of each. Modified nodes call out exactly which fields moved — role, name, model, or system_prompt — and render the old prompt struck through beside the new one. No guessing what changed between v6 and v7.

versions · canvas@v7v6 → v7
  1. v7Reviewer cites line numbers
  2. v6revertRevert to v4
  3. v5Add Tester node
#1modifiedReviewersystem_prompt
-You are a terse code reviewer.
+You are a code reviewer. Cite line
+numbers in every finding.
Flag security issues first.
1added1modified0removed3unchanged

03

Revert without rewriting history

Reverting restores a past snapshot onto the live canvas — overwriting its metadata and replacing every node — and then writes a fresh Revert commit on top. History stays linear and append-only: nothing is overwritten, the revert is tagged, and you can always trace which version a canvas was rolled back to and when.

canvas · pr-reviewrunning
Plannerdone
Coderlive
Reviewerqueued
agent.run · 3 spans2 / 3 nodes · streaming

04

Built on the canvas you already run

Versions isn't a separate tool to learn. It hangs off the same Planner / Coder / Reviewer / Tester / Adversary pipelines you build in Canvas, so the thing you version is the thing you actually run. Treat your agents like code: change a prompt, commit it, and prove it got better instead of hoping it did.

canvas · pr-reviewrunning
Plannerdone
Coderlive
Reviewerqueued
agent.run · 3 spans2 / 3 nodes · streaming

Immutable + append-only

Snapshot

Per-node, per-field

Diff granularity

Auto-tagged commit

Revert

Speed plus trust — prove your agents got better this week.

Versions is one piece of Stackon, the observability-first workspace for teams running Claude and Codex. Start free and instrument your first run today.