close(CTO-12): Pest 3 — реестр v1.14, Tooling v1.1, CLAUDE.md v1.2

Выбран Pest 3 (не PHPUnit). Обоснование:
- datasets лаконично покрывают 14 статусов воронки и 34 RLS-политики
- architecture testing закрепляет правила Claude на код-уровне
  (например, integration тесты не моки́руют БД — линт вместо памяти)
- родной для Laravel/Boost (Nuno Maduro в core team) — один guideline
  вместо разрыва на boost:install
- Pest на PHPUnit под капотом — откат дёшев

Изменения:
- Открытые_вопросы_v8_3.md v1.13 → v1.14: запись о закрытии в §3,
  сводка §0 (CTO 15→16 закрыто, итого 77→78 / 67→68 )
- Tooling_v8_3.md v1.0 → v1.1: §3.1 п.4, §3.4, §6 п.2, §10.1 п.9
- CLAUDE.md v1.1 → v1.2: §0 (версии источников), §3.2 строка 18,
  §7 п.5, футер

Импакт: при composer create-project (триггер фазы 1) — вместо
шага «решить Pest или PHPUnit» теперь composer require pestphp/pest
--dev --with-all-dependencies + vendor/bin/pest --init. Guideline
PHPUnit на boost:install отключить.

P0-блокер фазы 1 остаётся один — Б-1 (юр. лицо).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-05-08 07:44:11 +03:00
parent 3dca049f9c
commit 62a85f2a08
3 changed files with 27 additions and 16 deletions
+7 -5
View File
@@ -12,10 +12,10 @@
| Тема | Документ |
|---|---|
| Продуктовые правила работы Claude | [docs/Pravila_raboty_Claude_v1_1.md](docs/Pravila_raboty_Claude_v1_1.md) (v1.2+) |
| Полный реестр 28 инструментов и фазы | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (Прил. Н v1.0+) |
| Полный реестр 28 инструментов и фазы | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (Прил. Н v1.1+ от 08.05.2026 — CTO-12 закрыт, Pest 3) |
| Главное ТЗ | [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.12+) |
| Открытые вопросы | [docs/Открытые_вопросы_v8_3.md](docs/Открытые_вопросы_v8_3.md) (v1.14+) |
| **Брендбук** | [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) |
@@ -93,7 +93,7 @@
| 15 | Линт миграций PostgreSQL | squawk | в pre-commit для `database/migrations/*.php` |
| 16 | Форматирование SQL | pgFormatter | хук на правке `db/schema.sql` |
| 17 | Партиционирование PG | pg_partman | расширение БД |
| 18 | Тесты PHP | **Pest или PHPUnit** (выбор до Boost) | `composer test` |
| 18 | Тесты PHP | **Pest 3** (CTO-12 закрыт 08.05.2026) | `composer test` |
### 3.3. Фаза 2 — старт frontend (+6, итого 23)
@@ -197,7 +197,7 @@ trivy image liderra:latest
2. **`.mcp.json`** — Boost захочет добавить свой MCP-сервер. PostgreSQL MCP из фазы 0 — **удалить** (заменён Database Query/Schema от Boost'а).
3. **Из 25+ встроенных guidelines Boost'а оставить только:** Laravel Framework, Pint, Sail, Pennant, MCP. Отключить остальные (см. §5 п. 2).
4. **Создать кастомный guideline** для Vuetify 3 в `resources/boost/guidelines/vuetify.blade.php` — заготовка в [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) §10.2.
5. **Pest или PHPUnit** — решить заранее, оставить guideline только выбранного.
5. **Pest 3** — выбран (CTO-12 закрыт 08.05.2026). На `boost:install` — отключить guideline PHPUnit, оставить только Pest.
6. **`.mcp.json` и `boost.json`** — держать в репозитории (расхождение со стандартной рекомендацией Boost'а), чтобы у команды одинаковая конфигурация.
---
@@ -217,4 +217,6 @@ trivy image liderra:latest
---
*CLAUDE.md v1.1 от 08.05.2026. Изменения v1.1: ребрендинг Лидпоток→Лидерра; brandbook v1.1 удалён, источник — BRANDBOOK_v2.md из handoff Платона; добавлен handoff в §0; §2 палитра Forest; §6 — 13 концептов в web/v8/.*
*CLAUDE.md v1.2 от 08.05.2026. Изменения v1.2: закрыт CTO-12 — выбран Pest 3 (§3.2 строка 18, §7 п.5). Tooling v1.0→v1.1, Открытые_вопросы v1.13→v1.14.*
*v1.1 от 08.05.2026: ребрендинг Лидпоток→Лидерра; brandbook v1.1 удалён, источник — BRANDBOOK_v2.md из handoff Платона; добавлен handoff в §0; §2 палитра Forest; §6 — 13 концептов в web/v8/.*
+9 -7
View File
@@ -1,7 +1,7 @@
# Приложение Н — Tooling, скиллы и плагины Claude (v8.3)
**Дата:** 06.05.2026
**Версия:** 1.0 (первая версия)
**Дата:** 08.05.2026
**Версия:** 1.1 (CTO-12 закрыт — Pest 3)
**Адресат:** Claude + разработчики проекта Лидерра
**Назначение:** единый источник истины по 28 инструментам разработки, скиллам Claude Code, MCP-серверам и плагинам, используемым в проекте. Зафиксирован выбор, объяснено, что заменяет что, и в какой фазе вводится каждый инструмент.
@@ -11,7 +11,9 @@
> - `CLAUDE.md` (корень репозитория) — оперативная карта инструментов с приоритетом правил
> - `README_АРХИВ_v8_4.md` v8.4+ — состав архива
**Что нового в v1.0:** первая версия. Зафиксированы 28 активных инструментов в 4 фазах, перечень того, что НЕ ставим (10 пунктов), источники истины для конфигураций, процедура перехода между фазами, особенности Windows + PowerShell.
**Что нового в v1.1 (08.05.2026):** закрыт CTO-12 — выбран **Pest 3** (не PHPUnit). Обновлены §3.1 п.4 (boost:install), §3.4 (тестирование), §6 п.2 (конфликт Pest↔PHPUnit), §10.1 п.9 (процедура перехода). Обоснование выбора — в [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору) (Pest dataset'ы для 14 статусов / 34 RLS, architecture testing для закрепления правил Claude, родной для Boost).
**Что было в v1.0:** первая версия 06.05.2026. Зафиксированы 28 активных инструментов в 4 фазах, перечень того, что НЕ ставим (10 пунктов), источники истины для конфигураций, процедура перехода между фазами, особенности Windows + PowerShell.
---
@@ -87,7 +89,7 @@
1. `CLAUDE.md` — НЕ перезаписывать. Сохранить уже существующий (см. §7). Слить вручную, если Boost создаст черновик: добавить boost-секции в конец, оставив §1–§7 нашего CLAUDE.md выше.
2. Из 25+ встроенных guidelines оставить только: **Laravel Framework**, **Pint**, **Sail**, **Pennant**, **MCP**.
3. Отключить: **Inertia**, **Livewire**, **Tailwind**, **Filament**, **Flux UI**, **Nova**, **Folio**, **Volt**, **Wayfinder**у нас их нет.
4. Решить **Pest или PHPUnit** до установки. Оставить guideline только выбранного.
4. **Pest 3** — выбран (CTO-12 закрыт 08.05.2026, см. [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору)). Отключить guideline PHPUnit, оставить только Pest.
5. Создать кастомный guideline для **Vuetify 3**: `resources/boost/guidelines/vuetify.blade.php` (см. §10.2).
6. **Запретить production DB connection**`.env.production` не должен попадать в локальный Boost-конфиг.
7. `.mcp.json`**в репозиторий** (не в gitignore), чтобы у команды одинаковая конфигурация (расхождение со стандартной рекомендацией Boost'а).
@@ -113,7 +115,7 @@
| # | Инструмент | Установка | Роль |
|---|---|---|---|
| 18 | **Pest** ИЛИ **PHPUnit** (один) | `composer require pestphp/pest --dev` или встроенный PHPUnit | Тесты PHP. Выбор делается до установки Boost. Решение фиксируется в `Открытые_вопросы` (новый ID `CTO-12`, если ещё не закрыт) |
| 18 | **Pest 3** | `composer require pestphp/pest --dev` + `vendor/bin/pest --init` | Тесты PHP. Выбор зафиксирован 08.05.2026 (CTO-12, см. [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору)). Использовать datasets для параметризации 14 статусов воронки и 34 RLS-политик; architecture testing — для закрепления правил Claude (например, запрет mocks на integration-тестах) |
---
@@ -178,7 +180,7 @@
| # | Конфликт | Решение |
|---|---|---|
| 1 | **PostgreSQL MCP ↔ Laravel Boost (Database Query)** в момент перехода фазы 0→1 | В момент `boost:install` сразу убрать PG MCP из `.mcp.json`. Не оставлять оба активными |
| 2 | **Pest ↔ PHPUnit** | Решение фиксируется до установки Boost (новый вопрос `CTO-12`, если не закрыт). Boost оставляет guideline только выбранного |
| 2 | **Pest ↔ PHPUnit** | **Pest 3** (CTO-12 закрыт 08.05.2026). На `boost:install` отключить guideline PHPUnit |
| 3 | **vue-tsc ↔ Volar inline check** | Volar — для редактора (быстрый). vue-tsc — только в CI (полный pass) |
| 4 | **ESLint stylistic ↔ Prettier** | `eslint-config-prettier` обязателен. Без него — конфликт правил |
| 5 | **Pa11y ↔ Lighthouse a11y** | Lighthouse не входит в 28 (он инфраструктурный, см. §12). Если будет добавлен — отключить категорию `accessibility` через `--only-categories=performance,best-practices` |
@@ -268,7 +270,7 @@ Superpowers skills и другие плагины (поведенческие п
6. Слить (не перезаписать) `CLAUDE.md` если Boost создал черновик.
7. Установить Pint, Larastan, Roave/SecurityAdvisories, IDE Helper.
8. Установить squawk, pgFormatter, pg_partman.
9. Зафиксировать выбор Pest или PHPUnit.
9. Установить **Pest 3**: `composer require pestphp/pest --dev --with-all-dependencies` + `vendor/bin/pest --init` (CTO-12 закрыт 08.05.2026).
10. Обновить `.claude/settings.json` — добавить хуки для Pint и Larastan.
11. Прогнать full-pass всех инструментов.
12. Обновить эту версию Прил. Н: v1.0 → v1.1, отметить переход.
+11 -4
View File
@@ -2,7 +2,13 @@
**Назначение:** единый рабочий список вопросов, требующих решения заказчика для разблокировки разработки. Разбит по адресатам, внутри — по приоритету.
**Версия:** 1.13 от 08.05.2026 — зафиксирован ребрендинг «Лидпоток» → **«Лидерра.»** + интеграция дизайн-handoff Платона (v8 Forest). Подробности в блоке «Что изменилось в v1.13».
**Версия:** 1.14 от 08.05.2026 — закрыт CTO-12 (выбор Pest 3). Подробности в блоке «Что изменилось в v1.14».
**Что изменилось в v1.14 относительно v1.13:**
- **Закрыт CTO-12** — выбор тест-фреймворка PHP. Решение заказчика 08.05.2026: **Pest 3** (не PHPUnit). Обоснование: datasets для 14 статусов воронки / 34 RLS / 4 ролей БД; architecture testing закрепляет правила Claude на код-уровне; родной для Laravel и Boost (один guideline вместо разрыва); на PHPUnit под капотом → откат дёшев. На `boost:install` (триггер фазы 1) — отключить guideline PHPUnit, оставить Pest.
- **Сводка §0:** CTO 15→16 закрыто, итого продуктовых 77→78 / 67→68 ✅. Открытых вопросов осталось **5 ⏸** (Б-1 P0 + 4 P1: Диз-1, Диз-3, DO-2, DO-4) — без изменений.
- **Импакт на код:** нет (фаза 0). При триггере фазы 1: `composer require pestphp/pest --dev` вместо встроенного PHPUnit; в [Tooling_v8_3.md §3.4](Tooling_v8_3.md) и [CLAUDE.md §3.2](../CLAUDE.md) — фиксированный выбор.
**Что изменилось в v1.13 относительно v1.12:**
@@ -105,7 +111,7 @@
|---------|-------|------------|---------------|---------|----|----|-----|
| Юрист | 9 | 4 (Ю-1, Ю-6, Ю-7, Ю-9 v1.12) | 5 (Ю-2-доп, Ю-3-юр, Ю-4, Ю-5, Ю-8) | 0 | 0 | 0 | 0 |
| Бухгалтер / финансы | 6 | 5 (Б-2..6) | 0 | 1 (Б-1) | **1** | 0 | 0 |
| CTO / архитектор | 15 | 15 (CTO-1..16, кроме CTO-12 — выбор Pest/PHPUnit ждёт Boost) | 0 | 0 | 0 | 0 | 0 |
| CTO / архитектор | 16 | 16 (CTO-1..16, CTO-12 закрыт 08.05 — Pest 3) | 0 | 0 | 0 | 0 | 0 |
| Бизнес / продакт | 17 | 17 (6 + Биз-3/4/8 авто + Биз-10..16 v1.10 + Биз-17..24 v1.12) | 0 | 0 | 0 | 0 | 0 |
| Дизайнер / маркетинг | 4 | 2 (Диз-2, Диз-4) | 0 | 2 (Диз-1 у Claude, Диз-3 ждёт Б-1) | 0 | 2 | 0 |
| DevOps / эксплуатация | 5 | 3 (DO-1, DO-3, DO-5) | 0 | 2 (DO-2, DO-4 ждут Б-1) | 0 | 2 | 0 |
@@ -113,7 +119,7 @@
| **Аудит партий 111** | **4** | **4** (Биз-10..13 закрыты v1.10) | 0 | 0 | 0 | 0 | 0 |
| **Аудит партий 12–15** | **3** | **3** (Биз-14..16 закрыты v1.10) | 0 | 0 | 0 | 0 | 0 |
| **Аудит C — арх+sec (v1.12)** | **14** | **14** (OPEN-И-13..26 закрыты v1.12) | 0 | 0 | 0 | 0 | 0 |
| **Итого продуктовых** | **77** | **67** | **5 🟦** | **5 ⏸** | **1** | **4** | **0** |
| **Итого продуктовых** | **78** | **68** | **5 🟦** | **5 ⏸** | **1** | **4** | **0** |
Плюс 65 OPEN-вопросов в приложениях Д/Ж/З/И — большинство ждут юридической редактуры (см. раздел 8). *В v1.10 закрыт OPEN-И-12 (контакты эскалации) → 66 → 65.*
@@ -161,7 +167,7 @@
## 3. CTO / архитектору
Все 11 вопросов закрыты (5 в сессии 03.05, 6 в сессии 04.05).
Все 12 вопросов закрыты (5 в сессии 03.05, 6 в сессии 04.05, CTO-12 в сессии 08.05).
| ID | Решение | Где |
|----|---------|-----|
@@ -176,6 +182,7 @@
| ✅ **CTO-9** | **PgBouncer на MVP сразу** (transaction pooling) | Закрыто 04.05 |
| ✅ **CTO-10** | **`report_jobs.file_deleted` не вводим**, статус `done` остаётся, наличие файла по `expires_at` | Закрыто 04.05 |
| ✅ **CTO-11** | **Кнопка «Отменить» pending-платежа в UI клиента — нет**, cron самовосстанавливается через 30 мин | Закрыто 04.05 |
| ✅ **CTO-12** | **Pest 3** (не PHPUnit). Обоснование: datasets лаконично покрывают 14 статусов воронки и 34 RLS-политики; architecture testing закрепляет правила («integration тесты не должны мокировать БД» — линт вместо памяти); родной для Laravel/Boost (один guideline вместо разрыва); Pest на PHPUnit под капотом — откат дёшев | Закрыто 08.05. Импакт: [Tooling_v8_3.md §3.4](Tooling_v8_3.md), [CLAUDE.md §3.2](../CLAUDE.md). На `boost:install` отключить guideline PHPUnit, оставить Pest |
---