A snapshot is a saved copy of your site’s Delta design and content at one moment. Restore it to put the site back to that point. Delta also saves one on its own before a change that is hard to undo.
What is in a snapshot
A snapshot you or the agent asks for is a full copy of the site’s Delta state:
- The design system: tokens, notes,
site.css,components.css,site.jsand components - Site scripts, fonts and icons
- Templates, menus, terms and field maps
- Delta designs on entries. A plain post with no Delta design is not in the snapshot.
- Skills and rules under Delta → Context
- Delta settings: guardrail and feature toggles and disabled abilities. Secrets are left out. A restore the agent starts leaves your guardrail and ability switches as they are; one you start applies the snapshot’s.
- WordPress site settings. The site URL, home URL and admin email are not restored.
These are not in a snapshot: media files, users, plugins, integrations and Memory entries. Back them up with your host or a backup plugin.
The Snapshots screen
Go to Delta → Snapshots. The list under Saved snapshots shows every snapshot with its label, its date and where it came from: Saved by request, Before restore or Automatic. A pinned snapshot also shows Pinned.
- Save Snapshot saves a full snapshot now. Give it a label in the Snapshot label field, for example the name of a design a client signed off.
- Restore puts the site back to that snapshot. Delta asks you to confirm first.
- Pin keeps a snapshot until you unpin it. Unpin lets Delta remove it again when the list is full.
- Delete removes a snapshot. A pinned snapshot cannot be deleted: unpin it first.
A row with a Partial badge holds only some items, and the badge names them. Restoring it puts back only those items. Other pages and templates stay as they are.
Automatic snapshots
Before the agent makes one of these changes, Delta saves a partial snapshot of the items the change touches:
- Replacing the content of a page or entry, or copying content from one entry to another
- Updating many entries at once
- Deleting templates, or removing display conditions from several templates
- Deleting a term
- Deleting a menu or a menu location
- Writing
site.cssorsite.js
Its label starts with Before delta/ and names the ability, for example Before delta/set-page-content. A dry run changes nothing, so it saves no snapshot.
Design token and notes changes do not save a snapshot on their own. Before a restyle, ask the agent to save one.
Delta also saves a full snapshot labelled Before site.css import before it makes an imported CSS file your live stylesheet, and a pinned Initial seed snapshot when it first sets up the design system.
A restore can be undone
Every restore first saves a full snapshot of the site as it is now, marked Before restore. This includes Restore Default on Delta → Design. To undo a restore, restore that snapshot.
How many are kept
Delta keeps three groups of unpinned snapshots, and removes the oldest in a group when it is full:
- 20 automatic snapshots
- 20 snapshots saved by request
- 5 before-restore snapshots
Pinned snapshots do not count toward these limits, and Delta never removes them. Pin a snapshot you want to keep, such as a signed-off design.
Asking the agent
“Save a snapshot called {label} before you restyle the site.”
“Show me the snapshots from today.”
“Restore the snapshot from before the header change.”
“Pin the snapshot called {label}.”
The agent confirms with you before it restores, because a restore replaces the live site’s design and content.
For developers
The abilities are delta/list-snapshots, delta/create-snapshot (with label and reason), delta/get-snapshot, delta/get-snapshot-job, delta/restore-snapshot, delta/restore-seed, delta/delete-snapshot, delta/pin-snapshot and delta/unpin-snapshot. delta/delete-snapshot refuses a pinned snapshot.
Create, restore and restore-seed run as background jobs. Each returns a job, and the agent polls delta/get-snapshot-job until the job is complete or failed.
Each snapshot records a trigger: automatic, request or restore. Retention counts each trigger on its own. The reason says why it was taken: before-restore for the copy saved before a restore, seed for the initial seed, and ability- plus the ability name for an automatic partial snapshot. Snapshots made by request are always full.
Since 0.4.2 a restore or import an agent starts keeps the guardrail toggles, the disabled abilities and the approval setting as they are, and answers approval_skipped for a setting that needs the owner. A download link comes from POST …/download-link and works once; the old GET download URLs are gone.