Repository navigation
backdraft 0.8.0
A week on web sources: a fetched page is named, slugged and shown as the page it came from, and ingest finally says what it did.
- The demo cites a web page. backdraft.dev/demo.html now carries three sources, one of them a Wikipedia article ingested at its permanent link (
?oldid=), so a citation into the web is visible in the artifact anybody actually looks at — and staysresolvedrather than reportingdriftedthe next time somebody edits the page. - Every surface names a fetched source by its URL.
ingest,ls,backdraft read's document list and its table-of-contents headline all print the page rather than the filename the fetch invented to stage the bytes in.lsloses its fifth column: one true name replaces two names of which one was fictional. - A URL's slug names its site when its path names nothing. Two sites'
index.htmlpages used to becomeindexandindex-2; they are now named for their hosts. Directory indexes, generic handlers and bare numeric ids earn the host in front of them; a path that already names its page (/reports/q4-2025) is untouched. Truncated slugs no longer keep a dangling hyphen. ingestsays which of its three outcomes happened, and how much text came out. Each line carries the extracted character count, plusunchangedfor a no-op ornew generationwhen the bytes moved — the moment older citations can start reportingdrifted, now named alongside the command that checks. A source that came back thin — a scan with no text layer, a login wall, a deck of images — gets a note naming the likely cause and what to do, at exit 0.- Fixes. The artifact-reading skill described the JSON island's escaping wrongly, which would send an auditing agent reaching for an HTML unescape that does nothing;
backdraft ls --helpno longer points a user at a module path.
1190 tests.