v2.9.5 — Index outage fix (runaway YouTube mosaic)
Incident fix
After the latest sync, both V1 and V2 index pages hung the browser. Cause: reorganize_mosaic.load_inventory_channels() filtered channels by 'youtube_mosaic' in entry (key presence), but the SQL round-trip in save_inventory() materializes that column as an empty dict on every inventory entry — so all 18,647 entries rendered as inline logos (~18.6k <img> on one line):
v2-docs/index.md: 4.0 MBdocs/index.md: 2.9 MB
Fix
Only count an entry as a mosaic channel when youtube_mosaic is a non-empty dict with a logo image → 136 curated channels. Both index files regenerated (docs/index.md byte-identical to last known-good, 52 KB; v2-docs/index.md 41 KB). Fixing the shared loader prevents the next pipeline render from re-breaking it.
🤖 Generated with Claude Code