A YouTube Shorts pipeline for anime trivia where the model never works from memory — every claim is retrieved from a lore corpus and every script must cite its sources.

The channel sells factual trivia, but an LLM asked for anime facts invents confident, plausible, wrong ones — and an audience of fans catches every single one in the comments.
Scripts can only assert what the corpus supports: a citation the retrieval layer did not supply fails the build instead of shipping. Nine packages, 68 test files covering the parts that fail silently.
The channel's premise is factual trivia, and asking a language model for anime facts unprompted produces confident, plausible, wrong ones that the comments will notice. So this pipeline never lets the model work from memory: scripts are written only against lore chunks retrieved from a local corpus, and each script has to cite the chunk ids it used. A script citing an id that was not supplied is rejected outright rather than flagged, because fabricated sourcing means the claims themselves cannot be trusted. From there the pipeline runs corpus to vector store to retrieval to script to images and voice to a rendered MP4. It is a nine-package monorepo with a strict one-way dependency rule — every package may depend on the shared model layer, and only the CLI depends on the rest — and every stage is separately runnable, checkpointing to a job file so media can be regenerated without paying for a new script. Media sourcing is licence-aware, recording licence, author and source URL for every asset and rejecting non-commercial and no-derivatives licences on request.
