diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index 078923d..52f9f0f 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -151,3 +151,34 @@ _Updated: 2026-05-24 (Cleanup: 25 🟢 closed blocks → [ARCHIVE.md](ARCHIVE.md --- + +## ⚪ [books-bookva-user-whitelist-gathering] — **Процессная** ops-таска для Фазы 3, шаг 1 дизайна `tenant-split` из victor/books. Получить от учредителя Bookva письменный список пользователей, которые допущены к Bookva-инсталляции. Без этого списка cutover не возможен — иначе утечка доступа: либо лишние юзеры получат доступ к Bookva (через копирование «всех users»), либо легитимные юзеры заблокированы (через пустой whitelist). + +**Direction:** Bookva — новая инсталляция, начинается с whitelist'а (закрытый список). Slovo — остаётся на текущем стеке, получает копию всех текущих users (статус-кво). + +**Контекст dev-source:** дизайн в victor/books `.wiki/concepts/tenant-split.md` § «Двухуровневая изоляция пользователей → App-level» и § «Фаза 3, шаг 1». + +**Не блокируется ничем** — можно начинать gathering сразу, лаг до cutover'а может быть значительным. + +**Acceptance:** +- Письменный список от учредителя Bookva (email или подписанный документ): ФИО + role (если знают). +- Список зафиксирован в `OpeItcLoc03/admin/.wiki/concepts/books-bookva-whitelist.md` или в отдельной таблице. +- Для каждой строки списка сверка с текущей `users`-таблицей shared БД: user существует / роль соответствует / email актуален. +- Любые расхождения (запрошенный user не существует в shared / роль другая) — обработаны: создать новый user в Bookva-БД post-cutover ИЛИ скорректировать список с учредителем. + +**Status:** ready +**Where I stopped:** (not started) +**Next action:** 1. Отправить учредителю Bookva формальный запрос (email/мессенджер): «Для tenant-split нужен список пользователей, которые останутся в Bookva после разделения. Формат: ФИО + роль + email/login. Список будет применён на cutover'е как whitelist». +2. Дождаться ответа (это может занять дни/недели — нормально). +3. Получив список — сверить с `users`-таблицей shared БД: + ```sql + SELECT id, login, email, role FROM users WHERE email IN () AND deleted_at IS NULL; + ``` +4. Разобрать расхождения с учредителем (missing / role mismatch / inactive). +5. Зафиксировать финальный список в `OpeItcLoc03/admin/.wiki/concepts/books-bookva-whitelist.md` (или в local-only encrypted file если NDA-чувствительно). +6. Финальный список становится input'ом для Фазы 3, шаг 1: при настройке Bookva-БД в неё попадают **только** эти users. +7. Закрыть с note: «whitelist (N users) подтверждён учредителем, готов к применению на cutover'е». +**Branch:** n/a + + +---