audiobook-id · status at Sun 4 Oct 2026, 14:59 EDT
Audiobook Library Pipeline
From ~6,000 messy audiobook folders on two servers to one identified library that Audiobookshelf, BookOrbit and Storyteller all read. Sources are never moved, renamed or re-tagged; the library is a separate tree of hardlinks and copies.
Identifier running · chunk 23 of ~69 · 3,153 books leftStage 1–2 done · finished 04 Oct 14:54Build pilot passed · ABS and BookOrbitSafety fix done · BookOrbit Downloads mount is read-only
8,985book units in the queue
1,057auto-accepted by the gate
3,153waiting for the identifier
1,710identified by agents (642 verified)
35broken copies confirmed
3,042set aside as likely non-book
20.5Mmodel tokens spent so far (identify 13.3M · audit 7.2M)
Where every book goes
donerunning nowpaused / per chunknot started or needs sign-off
Each book folder enters at the top as one queue unit. The gate settles about a quarter of them without any model; the rest go to Sonnet in chunks, Opus checks a sample, and anything doubtful waits for you. Built books are hardlinks, so the library costs no extra disk space for audio.
Queue states right now
state/queue.db
Every unit sits in exactly one state. The pipeline's truth lives in this database and the evidence bundles beside it, so any session can pick up where the last one stopped.
What a built book looks like
pilot · 4 books
\\10.1.1.239\Downloads\Library\
├─ Adult\Jim Butcher\The Dresden Files\
│ ├─ 04. Summer Knight {James Marsters}\
│ │ ├─ Summer Knight - Jim Butcher.m4b hardlinksame file as Final Library · 0 bytes extra
│ │ ├─ Summer Knight - Jim Butcher.epub copyfrom Matt's Library (Calibre #119)
│ │ ├─ metadata.opf writtenCalibre title/series + narrator, Audible ASIN, ISBN
│ │ └─ cover.jpg · desc.txt · reader.txt written
│ └─ 12.5. Side Jobs - Stories From the Dresden Files {James Marsters}\
├─ Adult\Michael A. Stackpole\Star Wars - X-Wing\02. Wedge's Gamble {Marc Thompson}\
├─ Kids\J. K. Rowling\Harry Potter\01. Harry Potter and the Sorcerer's Stone {Jim Dale}\
└─ Big Finish\one item per story · positions like 7.01\\10.1.1.239\Downloads\Library-Readalong\never in ABS
└─ Adult\Michael A. Stackpole\Star Wars - X-Wing\02. Wedge's Gamble {Marc Thompson}\
└─ Book 02 - Wedge's Gamble.epub copyStoryteller read-along · 742 MB
The original audio is never touched: the library holds a second name for the same file. Duplicate copies of a recording are reported, not linked twice, and the best copy wins (m4b over m4a over MP3).
Waiting on you
Keep the loop moving. Chunks ran in ~15 min overnight but ~80 min this morning because the session waited on agent messages; the fix (check the queue, wake every 3–5 min) has been sent.
Read-along test. Add a BookOrbit library on /books/downloads-ob/Library-Readalong (folder mode, OPF first, watching off) and check whether Wedge's Gamble plays as a read-along, and whether it shows as one book or two.
Before the full build: pick the Big Finish author field (writer or "Big Finish Productions"). The review queue, the broken-books list, the case-twin folders and the non-book skim list (live counts above) can be worked any time.
What happens next
now · identifier running
Identifier chunks of 70 back to back, about 46 more (~15–20 min each), each audited and re-matched to ebooks.
in short sittings
You clear the review queue and the broken-books list.
your sign-off
Full build into Library\ with Kids placed by the book, then app libraries and Storyteller read-alongs at scale.
Decisions on record
books
Great Courses lectures are books; SANS and other training recordings are not. Audio dramas are books. Editions are never duplicates.
Big Finish
One library item per story; series and box-set folders are split, positions like 7.01; ranges kept separate.
audit
Identifier stays at effort medium. The 2% stop rule counts wrong-book answers only; damaged copies go on the broken-books list instead.
ebooks
One unified library; Matt's Library retired later. EPUB only, copied into every audio edition. Kindle ASIN in the Amazon field.
placement
Kids decided by the book (up to about age 12; YA goes to Adult); the source folder only breaks ties.
read-alongs
Storyteller output lives in Library-Readalong, which Audiobookshelf never scans.
audit rates
5% blind of confident verdicts and of gate accepts; Opus reviews below 0.70 confidence, mixed, partial, tag overrides and failed collection checks; 0.70–0.85 goes straight to your queue. Collections pass by a mechanical catalog check.
broken books
Tracked on their own list; the build never picks a broken copy while an intact one exists.