vidi
vidi records and differentiates between each AI model that authors a piece of the codebase. It also lets humans vouch for pieces they have reviewed, and gates a merge on review coverage.
Why use it?
A pull-request approval says “Ada approved this change.” It does not say which functions Ada actually read, including after the code is rewritten.
vidi records something narrower and more useful: which small pieces of code (aka “units”) a person has read, and exactly what those pieces looked like at the time. When the code changes, the fingerprint stops matching, and the vouch becomes stale.
How it works, in four steps
-
Units. vidi splits every file into small nameable pieces: one function, one struct, one paragraph, etc, instead of treating an entire file as one reviewable thing.
-
Fingerprints. Each unit gets a content hash. Same bytes get the same fingerprint; one character different, and it gets a completely different fingerprint.
-
Vouches. Reviewing a unit records a signed statement: who you are, which unit, its fingerprint, and your verdict.
-
Expiry. Later, vidi recomputes each fingerprint and compares. Match means the review still describes the code. Different means it does not.
Where to go
Get started: install it, review one unit, watch a review go stale, and turn on the gate. Start here if you have never run vidi.
Guides: task-shaped instructions: blocking merges in CI, reviewing a pull request, revoking an approval, sharing reviews across a team.
Reference: every command, every policy key, every unit state, and the on-disk file formats. The CLI reference is generated from the binary, so it cannot drift from the code.
Explanation: why it is built this way: units rather than files, fingerprints as an expiry mechanism, the parser-free core, and why review records never cause merge conflicts.
Contributing: building vidi itself.