Skip to content

Snapshots

A Snapshot is a saved version of a Sandbox’s files that never changes. Start new Sandboxes from it, keep it as a milestone, or use it to branch and roll back.

When to take one

  • Before risky work. Take one before an agent upgrades a framework or rewrites a migration. Start the work only after the Snapshot completes: on a running Sandbox it captures the files at some point after the request is accepted, so changes made in the meantime can end up in it. If the result is wrong, create a Sandbox from the Snapshot instead of undoing the changes by hand.
  • Once an environment is set up. A Snapshot of a Sandbox with the repository cloned, dependencies installed and images pulled lets every new task start from that point. Create a Sandbox per task from it, so tasks don’t share a working tree.
  • To keep a milestone. A Snapshot never changes, so it keeps what a Sandbox held when it was captured, such as the files a release was cut from, even after the Sandbox moves on or is deleted. Pause writes until it completes if the milestone has to be exact.

A Snapshot copies files as they are, including any secrets written to them, so rotate a credential that ends up in one.

Taking a Snapshot

On a running Sandbox, a Snapshot captures the files no earlier than the moment Ortam accepts the request. You don’t need to sync first or wait for commands to finish.

On a stopped Sandbox, it uses the latest completed save, without starting the Sandbox. That save can be older than the request.

A Snapshot completes within [Snapshot time limit], or reports that it failed or that its outcome is uncertain. A Sandbox that is stopping or recovering from a host failure refuses new Snapshots.

Starting a Sandbox from one

The new Sandbox gets a copy of the files, including any secrets written to them, and changes independently from then on. It doesn’t inherit running processes, command history, access or credential grants, or the source’s settings.

To branch, create a new Sandbox from a Snapshot. To roll back, create one from an earlier Snapshot and point your factory at it. Deleting the source Sandbox doesn’t affect the Snapshot, Sandboxes made from it, or ones whose creation was already accepted.