T14.1: неактивная роль, уже назначенная пользователю, больше не disabled в его Select — её можно снять (новое назначение неактивной роли по-прежнему запрещено). T14.2: матрица подставляет роли из ответов успешных PUT до перечитывания — при неудачном перечитывании на экране сохранённое, а не прежнее. T14.3: исправлен комментарий useAsyncData (неудачный reload оставляет прежние данные). T14.4: ref-замок от двойного POST в окне создания. T14.5: черновик матрицы — Map вместо объекта (ключи прототипа). T14.6: группы меню в useMemo, чтобы memo(Section) работал. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2