Skip to content

backdraft 0.16.0

Latest

Choose a tag to compare

@spencerbraun spencerbraun released this 30 Oct 13:08

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.

  • locate finds 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. The moved line says whole inside a chunk that now holds more or across two adjoining chunks, and a span proposes both tokens ;-separated, which --apply writes as is. bind records moved_to for the first case; a span writes none, since the key is one token in the artifact format.
  • ingest that 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 exact backdraft locate to run for it; show on 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 to backdraft init that would make an empty registry beside it.
  • render refuses 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.