- operationId
- actor (human|agent) — maps to git-warp
writerId - phase — which pipeline stage produced the mutation
- inputDigest — BLAKE3 hash of input artifact
- outputDigest — Git commit SHA from
graph.patch()(on success) - rationale
- confidence
- timestamp
Every graph mutation is permanently recorded as an immutable Git commit in the writer's patch chain. Use graph.patchesFor(nodeId) to trace which patches touched any entity.
All plan-changing operations MUST include structured before/after diffs in the audit record. The diff captures the domain-level intent (what changed and why), not the raw git-warp operations.
git-warp patches are immutable — there is no rollback or undo. To correct an error:
- Emit a new compensating patch via
graph.patch()that overrides properties via LWW, re-adds removed nodes/edges, or removes incorrectly added ones. - Record the correction in the audit trail with a rationale linking back to the original patch SHA.
- Both the original and corrective patches remain in the graph's permanent history.