diff --git a/CLAUDE.md b/CLAUDE.md index 2ab83185..6d10ea03 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,6 +1,6 @@ # CLAUDE.md — техконтекст Лидерры -**Версия:** 1.6 от 08.05.2026 (поздний вечер) +**Версия:** 1.7 от 08.05.2026 (поздний вечер) **Назначение:** оперативная карта для Claude Code. Не первоисточник — первоисточники указаны в §0. > **Ребрендинг 08.05.2026:** «Лидпоток» → **«Лидерра.»** (с точкой). Палитра, лого и шрифты — из handoff Платона (v8 Forest). Применяется только к дизайну/имени/логотипу; функционал, состав страниц и правила — без изменений (источник — ТЗ v8.5/schema v8.5). @@ -15,7 +15,7 @@ | Полный реестр 28 инструментов и фазы | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (Прил. Н v1.4 от 08.05.2026 поздний вечер — Laravel 11 → 13) | | Главное ТЗ | [docs/CRM_bp-gr_Инструкция_v8_5.md](docs/CRM_bp-gr_Инструкция_v8_5.md) (v8.5 от 07.05.2026 — реализация 27 решений аудита C) | | Схема БД | [db/schema.sql](db/schema.sql) (v8.5 от 07.05.2026 — реализация 27 решений аудита C, narrative v8.5 готовится) | -| Открытые вопросы | [docs/Открытые_вопросы_v8_3.md](docs/Открытые_вопросы_v8_3.md) (v1.17 от 08.05.2026 поздний вечер — переоткрыт стек: Laravel 11 → 13) | +| Открытые вопросы | [docs/Открытые_вопросы_v8_3.md](docs/Открытые_вопросы_v8_3.md) (v1.18 от 08.05.2026 поздний вечер — закрыт техдолг v1.17: narrative синхронизирован под Laravel 13) | | **Брендбук** | [liderra_v8_handoff/docs/BRANDBOOK_v2.md](liderra_v8_handoff/docs/BRANDBOOK_v2.md) **(v2 Forest от 07.05.2026)** — старый `docs/brandbook.md` v1.1 удалён 08.05.2026 | | **Дизайн-handoff (токены, компоненты, 25 экранов)** | [liderra_v8_handoff/docs/DEVELOPER_HANDOFF.md](liderra_v8_handoff/docs/DEVELOPER_HANDOFF.md) (v8 Forest от 07.05.2026) — **только дизайн/токены/компоненты**; функционал и состав экранов — по ТЗ v8.5 | | Анализ оригинала | [docs/Analiz_originala_v8_3.md](docs/Analiz_originala_v8_3.md) (Прил. М v1.1) | @@ -218,6 +218,8 @@ trivy image liderra:latest --- +*CLAUDE.md v1.7 от 08.05.2026 (поздний вечер). Изменения v1.7: закрыт техдолг v1.6 — narrative синхронизирован под Laravel 13. Точечные правки в трёх файлах (без изменения версии каждого документа): `CRM_bp-gr_Инструкция_v8_5.md:6219`, `Vybor_oblaka_v8_3.md:3`, `Админка_SaaS_v8_2.md:103` — `Laravel 11` → `Laravel 13`. Не трогалось намеренно (исторические записи): `Объединённый_конспект.md:149` (Часть I — фиксация решений v8.0 на 03.05.2026), `Открытые_вопросы_v8_3.md:354` (фиксация результата аудита). Открытые_вопросы v1.17→v1.18.* + *CLAUDE.md v1.6 от 08.05.2026 (поздний вечер). Изменения v1.6: переоткрыт стек §2 — **Laravel 11 → Laravel 13** после обнаружения, что `composer create-project` без `^11` подтянул 13.7. Live-проверка показала совместимость 5 ключевых плагинов (Boost, Larastan, Pest, IDE Helper, Pint). Заказчик принял Laravel 13 как latest stable. Техдолг: синхронизация narrative ТЗ + Vybor_oblaka + Админка_SaaS под Laravel 13 — отдельная задача для следующих сессий. Открытые_вопросы v1.16→v1.17 (новый блок), Tooling v1.3→v1.4 (Laravel 13 в §0).* *v1.5 от 08.05.2026 (поздний вечер). Изменения v1.5: переоткрыт+закрыт CTO-12 — **Pest 3 → Pest 4** (§3.2 строка 18, §7 п.5) после live-проверки на стеке (smoke-test 2/2 на default-тестах Laravel 11, 281 ms). Бонус Pest 4: browser testing без Dusk, stress, mutation v2. Tooling v1.2→v1.3, Открытые_вопросы v1.15→v1.16.* diff --git a/docs/CRM_bp-gr_Инструкция_v8_5.md b/docs/CRM_bp-gr_Инструкция_v8_5.md index 184b0e26..2a85c1c8 100644 --- a/docs/CRM_bp-gr_Инструкция_v8_5.md +++ b/docs/CRM_bp-gr_Инструкция_v8_5.md @@ -6216,7 +6216,7 @@ Drag-and-drop для Kanban — `vue-draggable-plus` или `@formkit/drag-and-d - Один пользователь = один тенант (на MVP) - Изоляция через `tenant_id` + global scope + 4 уровня защиты - Партиционирование `deals` помесячно по `received_at` -- PostgreSQL 16 + Redis + Laravel 11 + Vue 3 + Vuetify 3 +- PostgreSQL 16 + Redis + Laravel 13 + Vue 3 + Vuetify 3 ✅ **Источник данных** diff --git a/docs/Vybor_oblaka_v8_3.md b/docs/Vybor_oblaka_v8_3.md index 27acb341..0e738fba 100644 --- a/docs/Vybor_oblaka_v8_3.md +++ b/docs/Vybor_oblaka_v8_3.md @@ -1,6 +1,6 @@ # Приложение К — Сравнение облачных провайдеров и рекомендация для платформы Лидерра (v8.3) -**Назначение:** аналитическая записка для закрытия вопроса **DO-1** (P0-блокер спринта 0). Сравнение российских облачных провайдеров под архитектуру v8.2.1 (PHP 8.3 + Laravel 11 + Vue 3 + PostgreSQL 16 + Redis 7), с учётом требований 152-ФЗ и ожидаемого УЗ-4 (Приложение З §11). +**Назначение:** аналитическая записка для закрытия вопроса **DO-1** (P0-блокер спринта 0). Сравнение российских облачных провайдеров под архитектуру v8.2.1 (PHP 8.3 + Laravel 13 + Vue 3 + PostgreSQL 16 + Redis 7), с учётом требований 152-ФЗ и ожидаемого УЗ-4 (Приложение З §11). **Дата:** 04.05.2026. **Версия:** 1.1 (зафиксировано решение заказчика). diff --git a/docs/Админка_SaaS_v8_2.md b/docs/Админка_SaaS_v8_2.md index 5715d8d4..ddc881af 100644 --- a/docs/Админка_SaaS_v8_2.md +++ b/docs/Админка_SaaS_v8_2.md @@ -100,7 +100,7 @@ **Компромисс:** общий код моделей и миграций через Composer-пакет внутри монорепо (например, `packages/shared-domain`). Это позволяет переиспользовать Eloquent-модели тенантов без копипасты. -**Стек:** PHP 8.3 + Laravel 11, Vue 3 + Vuetify 3 (как у клиентского — переиспользование дизайн-токенов из раздела 26 v8.0). Отдельный `package.json` админки. +**Стек:** PHP 8.3 + Laravel 13, Vue 3 + Vuetify 3 (как у клиентского — переиспользование дизайн-токенов из раздела 26 v8.0). Отдельный `package.json` админки. ### 2.2. Доступ к БД (с учётом CTO-5: RLS включён на MVP) diff --git a/docs/Открытые_вопросы_v8_3.md b/docs/Открытые_вопросы_v8_3.md index 73421fb0..2be1e1a1 100644 --- a/docs/Открытые_вопросы_v8_3.md +++ b/docs/Открытые_вопросы_v8_3.md @@ -2,13 +2,20 @@ **Назначение:** единый рабочий список вопросов, требующих решения заказчика для разблокировки разработки. Разбит по адресатам, внутри — по приоритету. -**Версия:** 1.17 от 08.05.2026 (поздний вечер) — переоткрыт стек: **Laravel 11 → Laravel 13**. Подробности в блоке «Что изменилось в v1.17». +**Версия:** 1.18 от 08.05.2026 (поздний вечер) — закрыт техдолг v1.17: narrative ТЗ + Vybor_oblaka + Админка_SaaS синхронизированы под **Laravel 13**. + +**Что изменилось в v1.18 относительно v1.17:** + +- **Закрыт техдолг v1.17** — синхронизация narrative под Laravel 13. Точечные правки в трёх файлах (один токен на файл, без изменения версии каждого документа): [CRM_bp-gr_Инструкция_v8_5.md:6219](CRM_bp-gr_Инструкция_v8_5.md), [Vybor_oblaka_v8_3.md:3](Vybor_oblaka_v8_3.md), [Админка_SaaS_v8_2.md:103](Админка_SaaS_v8_2.md) — `Laravel 11` → `Laravel 13`. +- **Не трогалось** (намеренно, исторические записи): [Объединённый_конспект.md:149](Объединённый_конспект.md) — таблица «Финальная фиксация всех решений» внутри Части I «Создание документации v8.0 (03.05.2026)»; [Открытые_вопросы_v8_3.md:354](Открытые_вопросы_v8_3.md) — фиксация результата аудита (на момент аудита стек был L11, аудит подтвердил правильность выбора над «лоскутным» Vue 2 + Yii2; смысл утверждения сохраняется при апдейте до L13). +- **Импакт:** [CLAUDE.md §0](../CLAUDE.md) обновляется до v1.7 (Открытые_вопросы v1.17→v1.18). Triggers/реестр/Tooling/Pest/брендбук — без изменений. +- **Сводка §0:** без изменений (69 ✅ / 5 🟦 / 4 ⏸ / 1 P0 + 3 P1) — закрытие техдолга связности не двигало счётчик продуктовых вопросов. **Что изменилось в v1.17 относительно v1.16:** - **Переоткрыт стек §2 CLAUDE.md** — backend-фреймворк уточнён. Решение 08.05.2026 (поздний вечер): **Laravel 13** (не Laravel 11, как было в CLAUDE.md v1.0–v1.5). Произошло так: при `composer create-project laravel/laravel app` я не зафиксировал `^11` — Composer подтянул свежайшую `laravel/framework: ^13.7` (Laravel 13.7, релиз ~Feb 2026). Smoke-test'ы (Laravel migrate 3/3, Pest 2/2, Pint --test passed, PHPStan analyse passed, ide-helper:generate OK) подтвердили что Laravel 13 функционирует. Live-проверка совместимости 5 ключевых плагинов: Boost v2.4.6 (composer dry-run резолвит lock без conflict), Larastan v3.9.6, Pest v4.7.0, IDE Helper v3.7.0, Pint v1.29 — всё работает с Laravel 13. Заказчик 08.05 (поздний вечер) принял Laravel 13 как latest stable. Откат дороговат — `rm -rf app/ && composer create-project laravel/laravel:^11 app + повторить predis/Pest/Pint/Larastan/IDE Helper`. - **Импакт:** [CLAUDE.md §2](../CLAUDE.md) обновляется до v1.6 (Laravel 11 → Laravel 13); [Tooling_v8_3.md](Tooling_v8_3.md) v1.3→v1.4 (стек §0 — Laravel 13). composer.json в `app/`: `laravel/framework: ^13.7`. -- **Техдолг (для следующих сессий):** синхронизация narrative ТЗ ([CRM_bp-gr_Инструкция_v8_5.md:6219](CRM_bp-gr_Инструкция_v8_5.md), [Vybor_oblaka_v8_3.md:3](Vybor_oblaka_v8_3.md), [Админка_SaaS_v8_2.md:103](Админка_SaaS_v8_2.md)) под Laravel 13 — пока эти документы упоминают Laravel 11. Не блокер для разработки, но нарушает связность архива. Включить в hygiene-проход при следующем апдейте narrative до v8.6. +- **Техдолг (для следующих сессий):** синхронизация narrative ТЗ ([CRM_bp-gr_Инструкция_v8_5.md:6219](CRM_bp-gr_Инструкция_v8_5.md), [Vybor_oblaka_v8_3.md:3](Vybor_oblaka_v8_3.md), [Админка_SaaS_v8_2.md:103](Админка_SaaS_v8_2.md)) под Laravel 13 — пока эти документы упоминают Laravel 11. Не блокер для разработки, но нарушает связность архива. Включить в hygiene-проход при следующем апдейте narrative до v8.6. **(Закрыт в v1.18.)** - **Сводка §0:** без изменений (69 ✅ / 5 🟦 / 4 ⏸ / 1 P0 + 3 P1) — переоткрытие стека не двигало счётчик. **Что изменилось в v1.16 относительно v1.15:**