---
title: "History and recovery"
url: https://developers.dagio.ai/history/
---

# History and recovery

   
                             
                                                                       
               
             
          
   

## Inspect changes

Revisions help recover a change’s content and context. Compare a selected revision with the current version before restoring. Restoring text must not silently erase another member’s newer edits.

| Information | Expected value | Purpose |
| --- | --- | --- |
| Object | Surface or work identity | Verify scope |
| Revision | Exact version | Compare content |
| Origin | Identified user, AI or operation | Understand the change |
| Result | Accepted, refused or conflicting operation | Decide what to do next |

## Resume after interruption

A local draft, saved version and streaming AI text are distinct. After interruption, find the last confirmed version and check operation status. If an Action response is uncertain, inspect its result before launching again.

If restoration is confirmed but reopening fails, retry opening the Surface rather than restoring it
again. Opening still checks your current access. If the restoration response remains unknown, resume
the same pending request instead of confirming a new restoration.

Retained historical references identify the source versions used, without copying their content or granting new access. Inspect their details and browse sources by page. Changing language changes neither selection nor page. An available export retains these same references; it does not start another execution.

## Inspect the original references of a Work

Select the exact historical revision before inspecting its reference captures. Surface discovers
only the capture families actually retained on that revision. If none is available, no capture
is reconstructed from today's Model or Query. If both ordinary and Work captures exist, choose
the family explicitly rather than merging them or trying one after another.

For MCP clients, `surface_reference_capture_history_discover` returns this family metadata
without reading source bodies, policy bodies or a capture manifest. The Work family uses
`surface_work_reference_capture_list` and `surface_work_reference_capture_get`; an ordinary
capture is not relabelled as a Work capture. These reads require `surface:read` and current
authorization, including disclosure to AI when requested.

The original Work, stage and policy program remain separate from the current application.
Reading a retained capture checks current access to its sources; its historical certificate is
not a new permission. [Document exports](https://developers.dagio.ai/documents/) keep the same selected capture and its
original references, without re-executing the Work or replacing them with current versions.

## Example

You finish North Studio’s constraints while AI prepares a rewrite. Your text stays present. Review the proposal and differences before applying it to the section. If reference rates changed meanwhile, the work identifies context requiring review.

History explains changes; it does not replace editing permissions or result validation. See [synchronization and collaboration](https://developers.dagio.ai/collaboration/) for live updates.

<!-- surface-examples:start -->

## Applied examples : Retain the reference and review impact

A quote retains its reference, then flags changes that require review.

### Configuration

Fragment placed in `changePolicies[]`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-model-foundation/).

```json
{
  "key": "retained-pricing",
  "sourceDefinitionPaths": [
    "workspace/knowledge/surface/pricing"
  ],
  "linkTypePaths": [
    "application/based-on"
  ],
  "mode": "pin-revision",
  "actionKey": null,
  "queryKey": null,
  "maximumTargets": 50
}
```

### Variation and connection

Fragment placed in `changePolicies[]`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-model-foundation/).

```json
{
  "key": "pricing-review",
  "sourceDefinitionPaths": [
    "workspace/knowledge/surface/pricing"
  ],
  "linkTypePaths": [
    "application/based-on"
  ],
  "mode": "mark-needs-review",
  "actionKey": null,
  "queryKey": "affected-quotes",
  "maximumTargets": 50
}
```

### UI layout example

The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.

1. Target object
2. Proposed change
3. Checks
4. Confirm

<!-- surface-examples:end -->
