Diffs
patinaDB can show what changed — both for a single engram and between any two points in history.
Single-engram diff
A git-show-style view of one engram: what was created, deleted, and which
properties changed (old → new). Repeated SETs on the same property are
coalesced, no-op sets are dropped, and prior values are resolved by
reconstructing the parent state.
CALL patinadb.diff('<engram-id>')
Range diff (structural)
A structural diff between two reconstructed states — not a replay of the
operations between them, but a comparison of the actual graphs at from and
to. Omit from (null) to diff against the empty graph.
CALL patinadb.diffRange('<from-id>', '<to-id>')
CALL patinadb.diffRange(null, '<to-id>')
Move pairing
A naive structural diff reports a node that changed identity as one removed and one added node. The range diff is move-aware: it pairs a removed and an added vertex that share a label and match on an identity property, reporting a single move instead of an add/remove pair.
The identity-property priority list defaults to qualified_name, fqn, name.
If two candidates match ambiguously, they are left unpaired (reported as separate add/remove) rather than guessed.