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 left Stage 1–2 done · finished 04 Oct 14:54 Build pilot passed · ABS and BookOrbit Safety 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

SOURCES · READ-ONLY · NEVER MOVED, RENAMED OR RE-TAGGED OffensiveBias \\10.1.1.239\Downloads Downloads root + PC backups2,557 Audiobooks2,339 New Audiobook568 books (Readarr)623 Final Library595 _from_onedrive963 Kids134 Yoto69 Mendicantbias \\10.1.1.181\Medias need sorting964 Star Wars Audio Books116 other server: copy, never link Link-tree views AudiobooksClean Organized · Organized2 10,131 folders = aliases 67 orphan units Units = one book folder; Disc / CD / Part siblings folded into their parent. 19,126 folders walked in all. walk 246k dirs STAGE 0 Inventory DONE dedupe by file identity merge disc / part folders triage: book or not probe durations + tags 8,985 units (incl. 19 canaries) Likely non-book · 3,042 music, game audio, podcasts → skim list 6 case-twin folders · needs human Patriot Games / Patriot games … deferred to the end probed · 5,943 book units YOU ARE HERE STAGES 1–2 Credits + gate DONE local CPU · no model tokens whisper 90 s + last 45 s match Audible catalog runtime ±2%, narrator heard 5,943 units · ~21 h on 5 workers 0 left · finished 04 Oct 14:54 AUTO Gate auto-accepted · 1,057 all three sources agree → skips the identifier ~18% of book units · frozen design, 0 test errors 5% blind-audited · 0 wrong so far ready, no agent needed needs_agent STAGE 3 IdentifierClaude Sonnet · effort medium RUNNING chunks of 70 · 7 agents work + edition + narrator listens if no narrator 21 chunks so far · ~46 to go 3,153 waiting · 1,710 done verdicts STAGE 4 AuditClaude Opus · effort high PER CHUNK 5% blind re-identification reviews verdicts < 0.70 stops if > 2% wrong book canaries 19/19 · 0 wrong-book 595 audited · 0 pending disputed · unsure · damaged · collections STAGE 5 Human reviewyou, in short sittings COLLECTING review queue broken books: 35 confirmed Big Finish: item per story Kids/Adult placement doubts 444 in the review queue STAGE 5B · EBOOKS Matt's Library + ebooks Calibre 1,978 books · Everything\ebooks 448 matched by title + author + series position 160 ebooks ↔ 233 audio units (run of 3 Oct) re-matched after every chunk EPUB only · into every audio edition EPUB copies ready → manifest STAGE 6 Library buildneeds your sign-off PILOT PASSED hardlink best audio copy copy the matched EPUB write metadata.opf + cover Adult · Kids · Big Finish 4 pilot books built Library\ · scan STAGE 7 Appsneeds your sign-off PILOT PASSED Audiobookshelf: OPF wins ✓ BookOrbit: folder mode, OPF first ✓ one book holds EPUB + M4B ✓ BookOrbit Downloads mount read-only ✓ (4 Oct) READ-ALONGS Storyteller EPUB + audio in one folder → auto-pairs output → Library-Readalong\ BookOrbit + Storyteller only, never ABS test book: Wedge's Gamble (copied) reads Library\ LATER · SEPARATELY APPROVED Intake watcher (Readarr books\, BookOrbit Incoming Y:\, _from_onedrive) · m4b conversion of MP3 books · retire Matt's Library
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
probed 0 gate needs_agent 3,153 claim claimed 9 submit done 1,011 audit verified 642 ready — build built 4 pilot gate_accepted 1,057 AUTO 5% sampled by audit, rest straight to ready nonbook_review 3,042 triage disputed 57 needs_human 9 you resolve
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
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

  1. 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.
  2. 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.
  3. 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.