Skip to content

Artifact playback

Scrubbing the history of a generated artifact.

10 min

An artifact that the model built over ten turns has a biography. It started as a paragraph. It grew a bullet list. The user tightened the intro. The model added risks. Somewhere along the way, the perfect version existed and then got buried. Playback makes that buried version recoverable.

The pattern is simple on the surface. A scrubbable timeline above the artifact. Each turn is a dot on the timeline, labeled with its cause. Drag the handle; the artifact rewinds. Users can find the version they liked, restore it, or diff it against the current one.

"An artifact has a biography. When the final draft looks wrong, the user should be able to read where it went wrong."
The pattern

Scrub handle. Turn dots. Hover previews.

A horizontal timeline above the artifact. Each turn that touched the artifact gets a dot. The scrub handle rides a brass line that fills as the user drags. Hovering a dot shows a tooltip with the cause (a prompt, a tool call, a user edit). The artifact updates live as the handle moves; scrubbing is read-only. A 'restore this version' button makes the change explicit.

Timeline scrubbing
Play, pause, drag the handle
Timeline
turn 7 / 7
cause · user removed bullets
# Q3 plan I bet on enterprise ACV. Three workstreams: pricing, packaging, enablement. ## Risks - hiring lag ## Milestones - Jul 15 · pilot - Aug 01 · ship
scrubbing is read-only · restore rewrites the artifact

Every dot is a turn. Hover to see its cause; click to scrub. Restore is explicit, never accidental.

The why

Debugging is what turns a thread into a tool.

The difference between a chat product and a workbench is whether the user can debug their own work. Playback turns editing from a linear write into a reversible exploration. Users try bolder changes because they know they can scrub back.

Three moves

Timelines that reward use.

  • Label every dot. The cause is what makes the timeline navigable. Without labels, the dots are opaque.
  • Scrub is read-only. Dragging the handle should never commit. Restore is an explicit action, not a side effect.
  • Filmstrip, not Git log. The timeline should be readable by someone who's never used version control. Visual metaphor beats ref syntax.

The trap

Timelines that lie about what happened.

The dangerous failure mode is a timeline that doesn't include every state. Some versions are silently omitted because they were auto-saves or intermediate states. The user thinks they're seeing the whole history; they're seeing a curated subset. When the 'lost' version turns out to have been perfect, the product has cost the user something irrecoverable.

Failure modes

What this pattern gets wrong when it gets wrong.

Artifact drift
An artifact that edits itself across turns without a clear trail, so the user can't reconstruct how it got to its current state.
Stale memory
A persistent fact about the user that's out of date and silently poisoning answers.
Seen in the wild

Three shipping variants worth copying.

  • A scrubbable timeline above the artifact with per-turn dots
  • Hovering a dot previews the artifact at that state
  • A 'restore this version' button on each dot