A
Применение принципов clean architecture обязательно, насколько я понимаю, потому как ничего лучше не придумано. Что касается Redux - это вопрос личной оценки и конкретных обстоятельств, можно выбрать вместе него и bloc, и provider, и что то ещё.
Clean architecture - это стратегия, а redux (bloc, provider, etc..) - это тактика.