Skip to content

Cairn Documentation

Model Integrity

Every change to the model, whether from AI, a lens, the System Tree or the Model Explorer, is a ChangeSet that passes the same guard before anything is written. This page lists what the guard and the integrity check promise.

What the guard refuses

  • Creating an id that already exists, or updating or deleting one that does not.
  • Missing required fields and values outside a field's allowed set (a requirement type, a verification status).
  • A reference to an entity that does not exist, such as a requirement on a missing node or a trace link to nothing.
  • Deleting the root, deleting a node that still has children, creating a second root, or moving a node inside its own subtree.
  • A transition between states of different nodes. A whole state machine can still move to another node in one ChangeSet.

Operations are checked in order, against the model as the earlier operations in the same ChangeSet leave it. A ChangeSet can create a subsystem and then move nodes under it, or create an entity and then refine it.

When the guard refuses a ChangeSet, nothing in the model or in History changes, and Cairn tells you why. In ChangeSet review, the review stays open so you can deselect the operation at fault.

Deletes take their dependents

Deleting something deletes what cannot exist without it: a requirement takes its verifications and its trace links; a node takes its subtree and everything on it. You see the full list before confirming. AI deletes work the same way. When a specialist proposes deleting a requirement, review shows the verifications and trace links that go with it as their own operations, which you can keep or drop. Anything the same proposal moves elsewhere first is kept.

Undo restores what was there

History records each operation's before and after state as the model actually held it, not as the AI described it. Undo and Restore put back exactly what was there, including the original positions of nodes dragged on the Architecture and Behavior canvases.

Projects from anywhere

Projects opened from older versions, imports and cloud backups are normalized on load: missing collections become empty, and list fields become lists. Problems that need a decision, like a reference to a deleted entity, are reported rather than silently repaired: as errors in Quality, as red dots in the System Tree, and in the Model Explorer's Integrity view.