Repository navigation
A week on saying what the registry already knows: which drafts a new snapshot touches, where cited words went when the chunker re-cut them, and when a draft has changed since its record judged it.
locatefinds cited words the chunker changed a hash around without changing a word: a short heading merged into the cited chunk, or a paragraph grown past the cut so the cut runs through the words. Themovedline sayswhole inside a chunk that now holds moreoracross two adjoining chunks, and a span proposes both tokens;-separated, which--applywrites as is.bindrecordsmoved_tofor the first case; a span writes none, since the key is one token in the artifact format.ingestthat makes a new generation names each draft in the project whose last bind cited that source, read from the records under.backdraft/records/, with the exactbackdraft locateto run for it;showon a drifted token closes with the same commands instead of a<doc.md>placeholder. Unreadable records are counted, so a short list is never mistaken for a complete one.- A draft kept outside its project is refused with the directory that was searched and, when there is one, the registry that does not cover it and the two ways to connect them (move the draft, or set
BACKDRAFT_HOME), instead of advice tobackdraft initthat would make an empty registry beside it. renderrefuses a draft edited since its bind — a claim added, reworded, re-cited, or moved by an edit above it — at exit 1 with nothing written and the first such claim named, and the re-bind it names carries the record's--session. Prose edits that move no claim still render.
1730 tests.