Library scan imports audiobooks but silently skips EPUBs (`Inputs: 0 (0 succeeded, 0 skipped, 0 failed)`)
Scanning my library root or a single author folder imports audiobook files but never any ebooks. The scan finishes in a few hundred ms with [SCAN:manual] Scan summary ... Inputs: 0 (0 succeeded, 0 skipped, 0 failed), and with debug logging on it only appears to iterate over books that are already in the library. Importing a single book manually does work, though it logs a pile of SQLite errors. Docker, library laid out as /library/<Author>/<Book>/<file>.
Resolution: Several independent things produce this symptom. First, scans only recognise a one-book-per-folder layout -- /library/<Author>/<Book>/<files>, where a book folder contains at most one ebook, one audiobook and one readaloud; loose files directly under an author folder are skipped without being counted. Second, only EPUB is supported for ebooks: .azw3 and other Kindle formats are ignored outright, so convert them to EPUB first. Third, hardlink import mode requires the library folder and the Storyteller data folder to be on the same filesystem -- across two volumes or two ZFS datasets the link cannot be created and the ebook never lands; use copy or reference mode in that case. Fourth, if you enable "create a backup copy" before EPUB3 conversion you must also fill in the backup suffix; leaving it empty makes the import fail rather than falling back to a default name. The SQLite errors seen during manual import were a separate bug fixed in a later release, so update before investigating them. If files still refuse to re-import after correcting the above, clear the recorded/ignored import entries in the import settings so the scanner stops skipping them -- be aware this will re-import files you already have. Tradeoff to expect with copy mode: your M4B audio gets duplicated into the library, which is the storage cost of not using hardlinks.