Publish Container / docker (push) Successful in 14m9s
src/App.tsx (Scripture Index book map) and server/routes/bible-passage.js (BSB/bolls.life passage fetch) each hand-maintained their own independent 66-book list with a different key format (3-letter USFM id vs bolls.life's numeric id), so a future alias/rename fix in one would silently not apply to the other. Add shared/bible-books.js as the single canonical list (name + aliases + USFM id, in canonical order); the server derives its numeric bolls.life ids from the array position instead of hand-maintaining a second table. Requires allowJs + including shared/ in tsconfig.app.json so the client can import the plain-JS module alongside its TypeScript sources. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016Yvx4rPVy2HWe7ubuk3X3J