# `2.8.0` Named Snapshots And Reset ## Goal Turn reset into a first-class workflow primitive and add explicit named snapshots, not only the implicit create-time baseline. ## Public API Changes - CLI: - `pyro workspace snapshot create` - `pyro workspace snapshot list` - `pyro workspace snapshot delete` - `pyro workspace reset WORKSPACE_ID [--snapshot SNAPSHOT_ID|baseline]` - SDK/MCP mirrors ## Implementation Boundaries - Baseline snapshot is created automatically at workspace creation. - Named snapshots are explicit user-created checkpoints. - `workspace reset` recreates the full sandbox, not just `/workspace`. - Reset may target either the baseline or a named snapshot. ## Non-Goals - no secrets in this milestone - no live host-sharing or mount semantics - no branching/merge workflow on snapshots ## Acceptance Scenarios - mutate workspace, create named snapshot, mutate again, reset to snapshot, confirm state restoration - mutate service and `/tmp` state, reset to baseline, confirm full sandbox recreation - diff after reset is clean when expected ## Required Repo Updates - docs that teach reset over repair explicitly - example showing baseline reset and named snapshot reset - real Firecracker smoke for snapshot create -> mutate -> reset