tree_roll
Snapshot each node as path, kind and digest, then diff against a saved roll to surface vanished, rewritten and rekinded entries while excusing intended removals.
Instructions
What the tree holds now, as {path, kind, digest} per node — and, given a roll you kept from last time, what changed since.
Every rule runs against the tree as it is, so no rule can see what was
REMOVED: a deleted node is not red, it is absent. The roll is what makes
absence and silent rewriting mechanical. Keep the roll this returns; hand
it back as against on the next read and you get vanished (on the roll,
no longer here), rewritten (still here, still its kind, no longer saying
what it said — the digest covers name, payload and each param's value, and
deliberately not grounding or meta, so re-reading an unchanged record is not
a change) and rekinded (here, under a different kind).
excused spares paths whose removal was intended, and spares their whole
subtree. The comparison is against the roll you hold, never against git —
a gate diffing a committed roll is quern.roll.audit, not this.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| against | No | ||
| excused | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||