Expand description
What somebody said about a commit: a verdict, a note, a reason for pruning.
Nothing is ever updated. A store lives on NFS or in a bucket, where making an index the truth would mean a single writer — so saying something is claiming the next slot under a commit, and a commit’s verdict is the last one anybody claimed. Two machines saying something in the same instant both succeed, one after the other, and neither loses what the other wrote.
The store’s cost rule decides the rest: a record comes back free on a scan and a blob is a fetch, so a verdict lives in the record — reading forty commits is one scan — and the prose in the blob, fetched only by whoever asked to read it.
There were four verdicts, and only invalid was ever a property of the
code: promising, dead-end and superseded were somebody deciding
where to go next, and they now live in layer 2 as
Kind::Decision, under the question they
answered. Nothing was migrated, because nothing had to be — an old record
saying verdict=dead-end reads as a note with its prose intact.
That everything under an invalid commit is suspect is derived, by walking git when somebody asks, so a commit made tomorrow under one is suspect the moment it exists.
Structs§
- Journal
- The sayings of one investigation, kept in a store.
- Saying
- One thing somebody said, as it comes back from a scan.