- load-plugins: bundle once per source revision with an id index; loadPlugin(id)
loads one plugin (144 ms / 87 MB instead of ~15 s / 1.2 GB).
- fetch-novel: keep only the contiguous run of free chapters (no locked teasers).
- update-novels: append newly free chapters to our EPUBs without moving positions.
- find-novel --json for programs; shared EPUB pieces in epub.js.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>