feat: the schema moves, and four lines stop being ones a reader may walk past - #102
Merged
Merged
Conversation
rgdevment
force-pushed
the
rgdevment/both-machines-on-this-build
branch
from
October 1, 2026 19:29
631b201 to
84d284a
Compare
rgdevment
force-pushed
the
rgdevment/both-machines-on-this-build
branch
from
October 1, 2026 19:46
84d284a to
19abe42
Compare
…alk past A reader forgives a line it cannot make sense of when the line says it may be walked past. That keeps a store readable by a build older than the line, and it costs nothing where the line only adds something to look at. Four of them do not: each one decides the fate of a file, and a reader that walks past any of them decides it wrongly. `attach.kept` and `attach.let_go` are what the holders of a body are read from, and letting go of a local copy asks exactly that question: walk past the release and a body reads as still held elsewhere, so the last copy there is goes. `doc.said` is what says a body holds nothing, which is the only thing that tells a document somebody emptied from one the folder truncated — walk past it and the old body is written back over the emptying, and travels from there to every machine. `device.key` is a machine's own word for what it signs with, so walking past it is being unable to check one signature, and falling back to taking a history on trust is the thing the key exists to stop. Taking the mark off is what makes a reader stop. The schema moves with it so that the reader stops for the right reason: without the move it refuses the line as corruption, and the folder's own guard — which turns a whole round away before a byte is copied — has nothing to read. With it, a build at schema 15 is told it is behind, and is told before it copies home a line it could not read afterwards. The mark is only ever read where the operation's name is one the reader has never met, so taking it off a name no release has shipped is what makes every build so far stop rather than guess. What keeps the mark is what costs nothing to miss: where an agent lives, a mark on a document, a person's own alias. The cache is keyed to the schema and rebuilds itself once. Nothing in the log is migrated, and events already written stay readable exactly as they are.
rgdevment
force-pushed
the
rgdevment/both-machines-on-this-build
branch
from
October 1, 2026 20:03
19abe42 to
1109a51
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four lines each decide the fate of a file, and a reader that walks past any of them decides it wrongly. attach.kept and attach.let_go are what the holders of a body are read from, so walking past a release makes the last copy there is
go. doc.said is what says a body holds nothing, the only thing that tells a document somebody emptied from one the folder truncated — walk past it and the old body is written back over the emptying and travels. device.key is a machine's own word for what it signs with, so walking past it is being unable to check one signature. Taking the mark
off is what makes a reader stop; the schema moves with it so the reader stops for the right reason and is told before it copies home a line it could not read afterwards. The mark is only ever read where the operation's name is one the reader has never met, so taking it off a name no release has shipped is what makes every build so far stop
rather than guess. The cache rebuilds itself once and nothing in the log is migrated. docs/ARCHITECTURE.md moves the fence to 16 and records why these four lost the mark.