- Reduce sync parallelism 5 -> 2 to cap peak heap while bulk-fetching
all departments for a period
- Replace per-write rows (insert schedule/days/lessons separately) with a
single @Transaction replaceSchedule() so Room invalidates observers once
per department instead of ~4x each, cutting main-thread recompositions
and intermediate allocations during the 38-department sync