docs(access): прогресс (Фазы 0/2a/2b done) + зафиксировано решение по Фазе 1

Фаза 1 — модель ДОБАВОЧНАЯ: ролевой simulations.access = «модуль включён для
роли», видимость конкретных sim/курсов — дополнительно по классам через
content_access (roleHasModule AND classAllowsItem). Миграция-мост открывает
всё всем классам → поведение не меняется.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Maxim Dolgolyov
2026-06-03 13:08:19 +03:00
parent 596e8d8b30
commit 16d0f91622
+10
View File
@@ -81,6 +81,16 @@ allow IN (0,1)
---
## Прогресс (2026-06-03)
-**Фаза 0**`purgeAccessFor` + рефактор удалений + confirm bulk-close + тест content-access (commit 1bbddc0).
-**Фаза 2a** — режим «Матрица» класс×контент + `GET /api/access/matrix` + поиск (commit 67a70c6).
-**Фаза 2b** — поиск/группировка по предмету в левой колонке + бейдж «эффективный доступ» у ученика (commit 596e8d8).
-**Фаза 1** — РЕШЕНО (пользователь): модель **ДОБАВОЧНАЯ** — ролевой `simulations.access` остаётся
«модуль включён для роли», а видимость конкретных sim/курсов — дополнительно по классам через
content_access. Эффективно: `roleHasModule AND classAllowsItem`. Миграция-мост открывает все
sim/курсы всем классам → текущее поведение не меняется. Начинать с чтения подсистем lab/courses
(где список симуляций/курсов отдаётся — туда вешать фильтр; refs: sim id/slug, course slug).
## 5. Фазы
### Фаза 0 — Целостность и быстрые победы (низкий риск, без смены модели)