Changes
- Reduce OPDS catalog memory pressure by saving each feed temporarily to SD and closing HTTP/TLS before parsing it (#228), adapting CrossInk's phase-separation approach.
- Release reader-font caches before fetching, clear the old catalog on every retry, and remove temporary files and partial entries after failures. Report parser allocation failures as memory errors.
- Detect failed final SD flushes and remove incomplete downloads before they can be parsed or opened.
- Pass all 785 native tests, including 50 new feed-loading, parser-recovery and file-download cases, and verify valid-catalog recovery after a failed feed in the simulator without restarting. ESP32-C3 development and release builds pass the firmware budget gate. Physical X3 confirmation with the reporter's Grimmory library remains pending.