phase1(test): Pest 4 swap + reopen(CTO-12) — Pest 3 → Pest 4
Произошло так: при `composer require pestphp/pest pestphp/pest-plugin-laravel --dev --with-all-dependencies` я не зафиксировал `^3` — composer подтянул свежайшую Pest v4.7.0 + pest-plugin-laravel v4.1.0. Smoke-test (`./vendor/bin/pest`) на default-тестах Laravel 11 прошёл 2/2 за 281 ms — backward-compat с Pest 3 syntax подтверждён. Заказчик 08.05 (поздний вечер) принял Pest 4 после live-проверки на стеке. Бонус Pest 4: browser testing (без Dusk), stress testing, mutation testing v2. Откат дёшев — `composer require pestphp/pest:^3`. Что сделано: - composer remove phpunit/phpunit (был direct dev-dep) — phpunit остался как транзитивная зависимость Pest - composer require pestphp/pest:^4.7 pestphp/pest-plugin-laravel:^4.1 --dev - Pest.php создан через `vendor/bin/pest --init` (`tests/Pest.php`) - `vendor/bin/pest` smoke-test: 2 passed (Unit/Feature ExampleTest), 281 ms - `vendor/bin/pest --init` упал на интерактивном промпте «Wanna show Pest some love?» в non-interactive PowerShell — Pest.php к этому моменту уже создан, нефатально Reopen(CTO-12): по правилу «явная фиксация переоткрытий» обновлены 3 источника: - docs/Открытые_вопросы_v8_3.md v1.15→v1.16: блок «Что изменилось в v1.16», таблица §0 (CTO-12 переоткрыт+закрыт), запись §3 (Pest 4 + обоснование), финальный список §X (Pest 4) - docs/Tooling_v8_3.md v1.2→v1.3: блок «Что нового в v1.3», §3.1 п.4 (Pest 4 в boost:install), §3.4 строка 18 (Pest 4 + бонусы), §6 п.2 (конфликт Pest↔PHPUnit), §10.1 п.9 (процедура установки + warning про --init на Windows non-interactive) - CLAUDE.md v1.4→v1.5: §0 источники (Tooling v1.3, Реестр v1.16), §3.2 строка 18 (Pest 4), §7 п.5 (Pest 4 в boost:install), футер с историей версий Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# CLAUDE.md — техконтекст Лидерры
|
||||
|
||||
**Версия:** 1.1 от 08.05.2026
|
||||
**Версия:** 1.5 от 08.05.2026 (поздний вечер)
|
||||
**Назначение:** оперативная карта для Claude Code. Не первоисточник — первоисточники указаны в §0.
|
||||
|
||||
> **Ребрендинг 08.05.2026:** «Лидпоток» → **«Лидерра.»** (с точкой). Палитра, лого и шрифты — из handoff Платона (v8 Forest). Применяется только к дизайну/имени/логотипу; функционал, состав страниц и правила — без изменений (источник — ТЗ v8.5/schema v8.5).
|
||||
@@ -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.2+ от 08.05.2026 — Sail отключён, native-стек) |
|
||||
| Полный реестр 28 инструментов и фазы | [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) (Прил. Н v1.3 от 08.05.2026 поздний вечер — Pest 3 → Pest 4) |
|
||||
| Главное ТЗ | [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.15+ от 08.05.2026 — Диз-1 закрыт handoff'ом) |
|
||||
| Открытые вопросы | [docs/Открытые_вопросы_v8_3.md](docs/Открытые_вопросы_v8_3.md) (v1.16 от 08.05.2026 поздний вечер — CTO-12 переоткрыт+закрыт: Pest 4) |
|
||||
| **Брендбук** | [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 3** (CTO-12 закрыт 08.05.2026) | `composer test` |
|
||||
| 18 | Тесты PHP | **Pest 4** (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер; backward-compat с 3, бонус: browser/stress/mutation v2) | `composer test` |
|
||||
|
||||
### 3.3. Фаза 2 — старт frontend (+6, итого 23)
|
||||
|
||||
@@ -198,7 +198,7 @@ trivy image liderra:latest
|
||||
2. **`.mcp.json`** — Boost захочет добавить свой MCP-сервер. PostgreSQL MCP из фазы 0 — **удалить** (заменён Database Query/Schema от Boost'а).
|
||||
3. **Из 25+ встроенных guidelines Boost'а оставить только:** Laravel Framework, Pint, Pennant, MCP. Отключить остальные (см. §5 п. 2). **Sail отключён 08.05.2026** — на машине OpenStack-VPS нет nested virtualization, Docker/WSL2 невозможны, стек native: PG 16 + Memurai (Redis 7-совместимый).
|
||||
4. **Создать кастомный guideline** для Vuetify 3 в `resources/boost/guidelines/vuetify.blade.php` — заготовка в [docs/Tooling_v8_3.md](docs/Tooling_v8_3.md) §10.2.
|
||||
5. **Pest 3** — выбран (CTO-12 закрыт 08.05.2026). На `boost:install` — отключить guideline PHPUnit, оставить только Pest.
|
||||
5. **Pest 4** — выбран (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер). На `boost:install` — отключить guideline PHPUnit, оставить только Pest. composer.json в `app/` уже на `pestphp/pest: ^4.7`.
|
||||
6. **`.mcp.json` и `boost.json`** — держать в репозитории (расхождение со стандартной рекомендацией Boost'а), чтобы у команды одинаковая конфигурация.
|
||||
|
||||
---
|
||||
@@ -218,7 +218,9 @@ trivy image liderra:latest
|
||||
|
||||
---
|
||||
|
||||
*CLAUDE.md v1.4 от 08.05.2026 (вечер). Изменения v1.4: native-стек фазы 1 (§6, §7 п.3) — Docker/Sail/WSL2 невозможны на OpenStack-VPS без nested virtualization. PostgreSQL 16 + Memurai (Redis 7-совм.) + native PHP. Tooling v1.1→v1.2.*
|
||||
*CLAUDE.md 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.*
|
||||
|
||||
*v1.4 от 08.05.2026 (вечер). Изменения v1.4: native-стек фазы 1 (§6, §7 п.3) — Docker/Sail/WSL2 невозможны на OpenStack-VPS без nested virtualization. PostgreSQL 16 + Memurai (Redis 7-совм.) + native PHP. Tooling v1.1→v1.2.*
|
||||
|
||||
*v1.3 от 08.05.2026: закрыт Диз-1 — HTML-прототипы покрыты handoff'ом Платона (§0, §6). Открытые_вопросы v1.14→v1.15. Открытых ⏸ продуктовых: 4 (Б-1 P0 + Диз-3/DO-2/DO-4 P1, все ждут Б-1).*
|
||||
|
||||
|
||||
+2
-1
@@ -18,7 +18,8 @@
|
||||
"laravel/pint": "^1.27",
|
||||
"mockery/mockery": "^1.6",
|
||||
"nunomaduro/collision": "^8.6",
|
||||
"phpunit/phpunit": "^12.5.12"
|
||||
"pestphp/pest": "^4.7",
|
||||
"pestphp/pest-plugin-laravel": "^4.1"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
|
||||
Generated
+1217
-1
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Test Case
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The closure you provide to your test functions is always bound to a specific PHPUnit test
|
||||
| case class. By default, that class is "PHPUnit\Framework\TestCase". Of course, you may
|
||||
| need to change it using the "pest()" function to bind different classes or traits.
|
||||
|
|
||||
*/
|
||||
|
||||
pest()->extend(TestCase::class)
|
||||
// ->use(RefreshDatabase::class)
|
||||
->in('Feature');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Expectations
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When you're writing tests, you often need to check that values meet certain conditions. The
|
||||
| "expect()" function gives you access to a set of "expectations" methods that you can use
|
||||
| to assert different things. Of course, you may extend the Expectation API at any time.
|
||||
|
|
||||
*/
|
||||
|
||||
expect()->extend('toBeOne', function () {
|
||||
return $this->toBe(1);
|
||||
});
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Functions
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| While Pest is very powerful out-of-the-box, you may have some testing code specific to your
|
||||
| project that you don't want to repeat in every file. Here you can also expose helpers as
|
||||
| global functions to help you to reduce the number of lines of code in your test files.
|
||||
|
|
||||
*/
|
||||
|
||||
function something()
|
||||
{
|
||||
// ..
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
# Приложение Н — Tooling, скиллы и плагины Claude (v8.3)
|
||||
|
||||
**Дата:** 08.05.2026 (вечер)
|
||||
**Версия:** 1.2 (Sail отключён — нет nested virtualization на OpenStack-VPS, переход на native стек)
|
||||
**Дата:** 08.05.2026 (поздний вечер)
|
||||
**Версия:** 1.3 (Pest 3 → Pest 4 после live-проверки на стеке; CTO-12 переоткрыт+закрыт)
|
||||
**Адресат:** Claude + разработчики проекта Лидерра
|
||||
**Назначение:** единый источник истины по 28 инструментам разработки, скиллам Claude Code, MCP-серверам и плагинам, используемым в проекте. Зафиксирован выбор, объяснено, что заменяет что, и в какой фазе вводится каждый инструмент.
|
||||
|
||||
@@ -11,7 +11,9 @@
|
||||
> - `CLAUDE.md` (корень репозитория) — оперативная карта инструментов с приоритетом правил
|
||||
> - `README_АРХИВ_v8_4.md` v8.4+ — состав архива
|
||||
|
||||
**Что нового в v1.2 (08.05.2026 вечер):** **Sail отключён** из allow-list Boost (§3.1 п.2/п.3). Причина: машина — OpenStack-VPS, nested virtualization выключена провайдером, Docker Desktop/WSL2/Hyper-V запустить невозможно (`HypervisorPresent = True`, но guest не получает VT-x). Переход на native-стек: **PostgreSQL 16** (`choco install postgresql16`, Windows-сервис) + **Memurai Developer** (`choco install memurai-developer.install`, Redis 7-совместимый Windows-сервис, free до 1GB). pg_partman/pg_audit/pg_anonymizer на native Windows — ручная сборка/замена; на MVP — заменить ручным cron'ом для партиций и triggers (которые уже в schema v8.5). Подробности в `memory/project_phase1_strategy.md`.
|
||||
**Что нового в v1.3 (08.05.2026 поздний вечер):** **Pest 3 → Pest 4** в §3.3 п.18 (тестирование), §6 п.2 (конфликт), §10.1 п.9 (boost:install). Решение: при `composer require pestphp/pest --dev --with-all-dependencies` без `^3` composer подтянул Pest v4.7.0; smoke-test 2/2 на default-тестах Laravel 11 прошёл за 281 ms — backward-compat подтверждён. Бонус Pest 4: browser testing (без Dusk), stress testing, mutation testing v2. Откат дёшев — `composer require pestphp/pest:^3`. Подробности в [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору) и блоке «Что изменилось в v1.16» там же.
|
||||
|
||||
**Что было в v1.2 (08.05.2026 вечер):** **Sail отключён** из allow-list Boost (§3.1 п.2/п.3). Причина: машина — OpenStack-VPS, nested virtualization выключена провайдером, Docker Desktop/WSL2/Hyper-V запустить невозможно (`HypervisorPresent = True`, но guest не получает VT-x). Переход на native-стек: **PostgreSQL 16** (`choco install postgresql16`, Windows-сервис) + **Memurai Developer** (`choco install memurai-developer.install`, Redis 7-совместимый Windows-сервис, free до 1GB). pg_partman/pg_audit/pg_anonymizer на native Windows — ручная сборка/замена; на MVP — заменить ручным cron'ом для партиций и triggers (которые уже в schema v8.5). Подробности в `memory/project_phase1_strategy.md`.
|
||||
|
||||
**Что было в 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).
|
||||
|
||||
@@ -91,7 +93,7 @@
|
||||
1. `CLAUDE.md` — НЕ перезаписывать. Сохранить уже существующий (см. §7). Слить вручную, если Boost создаст черновик: добавить boost-секции в конец, оставив §1–§7 нашего CLAUDE.md выше.
|
||||
2. Из 25+ встроенных guidelines оставить только: **Laravel Framework**, **Pint**, **Pennant**, **MCP**. (**Sail убран 08.05.2026 — на текущей машине Docker невозможен из-за отсутствия nested virtualization, см. project_phase1_strategy memory.** Native стек: native PostgreSQL 16 + Memurai Redis-compatible.)
|
||||
3. Отключить: **Inertia**, **Livewire**, **Tailwind**, **Filament**, **Flux UI**, **Nova**, **Folio**, **Volt**, **Wayfinder**, **Sail** — у нас их нет (Sail отключён 08.05.2026 после обнаружения OpenStack-VPS без nested-virt; native стек = единственный путь).
|
||||
4. **Pest 3** — выбран (CTO-12 закрыт 08.05.2026, см. [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору)). Отключить guideline PHPUnit, оставить только Pest.
|
||||
4. **Pest 4** — выбран (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер, см. [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору)). Отключить guideline PHPUnit, оставить только Pest. composer.json в `app/` уже на `pestphp/pest: ^4.7`.
|
||||
5. Создать кастомный guideline для **Vuetify 3**: `resources/boost/guidelines/vuetify.blade.php` (см. §10.2).
|
||||
6. **Запретить production DB connection** — `.env.production` не должен попадать в локальный Boost-конфиг.
|
||||
7. `.mcp.json` — **в репозиторий** (не в gitignore), чтобы у команды одинаковая конфигурация (расхождение со стандартной рекомендацией Boost'а).
|
||||
@@ -117,7 +119,7 @@
|
||||
|
||||
| # | Инструмент | Установка | Роль |
|
||||
|---|---|---|---|
|
||||
| 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-тестах) |
|
||||
| 18 | **Pest 4** | `composer require pestphp/pest --dev --with-all-dependencies` + `vendor/bin/pest --init` | Тесты PHP. Pest 3 → Pest 4 после live-проверки на стеке 08.05.2026 поздний вечер (CTO-12 переоткрыт+закрыт, см. [Открытые_вопросы_v8_3.md §3](Открытые_вопросы_v8_3.md#3-cto--архитектору)). Использовать datasets для параметризации 14 статусов воронки и 34 RLS-политик; architecture testing — для закрепления правил Claude (например, запрет mocks на integration-тестах). Бонус Pest 4: browser testing (без Dusk), stress, mutation v2 |
|
||||
|
||||
---
|
||||
|
||||
@@ -182,7 +184,7 @@
|
||||
| # | Конфликт | Решение |
|
||||
|---|---|---|
|
||||
| 1 | **PostgreSQL MCP ↔ Laravel Boost (Database Query)** в момент перехода фазы 0→1 | В момент `boost:install` сразу убрать PG MCP из `.mcp.json`. Не оставлять оба активными |
|
||||
| 2 | **Pest ↔ PHPUnit** | **Pest 3** (CTO-12 закрыт 08.05.2026). На `boost:install` отключить guideline PHPUnit |
|
||||
| 2 | **Pest ↔ PHPUnit** | **Pest 4** (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` |
|
||||
@@ -272,7 +274,7 @@ Superpowers skills и другие плагины (поведенческие п
|
||||
6. Слить (не перезаписать) `CLAUDE.md` если Boost создал черновик.
|
||||
7. Установить Pint, Larastan, Roave/SecurityAdvisories, IDE Helper.
|
||||
8. Установить squawk, pgFormatter, pg_partman.
|
||||
9. Установить **Pest 3**: `composer require pestphp/pest --dev --with-all-dependencies` + `vendor/bin/pest --init` (CTO-12 закрыт 08.05.2026).
|
||||
9. Установить **Pest 4**: `composer require pestphp/pest pestphp/pest-plugin-laravel --dev --with-all-dependencies` + `vendor/bin/pest --init` (CTO-12 переоткрыт+закрыт 08.05.2026 поздний вечер). На Windows `--init` может упасть на интерактивном промпте «Wanna show Pest some love?» в non-interactive shell — игнорировать, `Pest.php` уже создан.
|
||||
10. Обновить `.claude/settings.json` — добавить хуки для Pint и Larastan.
|
||||
11. Прогнать full-pass всех инструментов.
|
||||
12. Обновить эту версию Прил. Н: v1.0 → v1.1, отметить переход.
|
||||
|
||||
@@ -2,7 +2,13 @@
|
||||
|
||||
**Назначение:** единый рабочий список вопросов, требующих решения заказчика для разблокировки разработки. Разбит по адресатам, внутри — по приоритету.
|
||||
|
||||
**Версия:** 1.15 от 08.05.2026 — закрыт Диз-1 (HTML-прототипы покрыты handoff'ом Платона). Подробности в блоке «Что изменилось в v1.15».
|
||||
**Версия:** 1.16 от 08.05.2026 (поздний вечер) — переоткрыт+закрыт CTO-12: Pest 3 → Pest 4. Подробности в блоке «Что изменилось в v1.16».
|
||||
|
||||
**Что изменилось в v1.16 относительно v1.15:**
|
||||
|
||||
- **Переоткрыт+закрыт CTO-12** — выбор тест-фреймворка PHP уточнён до мажорной версии. Решение 08.05.2026 (поздний вечер): **Pest 4** (не Pest 3, как было в v1.14). Произошло так: при `composer require pestphp/pest pestphp/pest-plugin-laravel --dev --with-all-dependencies` я не зафиксировал `^3` — composer подтянул свежайшую Pest v4.7.0 + pest-plugin-laravel v4.1.0. Smoke-test (`./vendor/bin/pest`) на default-тестах Laravel 11 прошёл 2/2 за 281 ms — backward-compat с Pest 3 syntax подтверждён. Заказчик 08.05 (поздний вечер) принял Pest 4: бонус — browser testing (без Dusk), stress testing, mutation testing v2. Откат дёшев (`composer require pestphp/pest:^3`).
|
||||
- **Импакт:** [Tooling_v8_3.md §3.3](Tooling_v8_3.md) (фаза 2 — было ошибочно «фаза 1»; уточняется в Tooling v1.3): **Pest 4** в строке 18; [CLAUDE.md §3.2](../CLAUDE.md) обновляется до v1.5 (упоминание «Pest 3» → «Pest 4»). На `boost:install` (триггер фазы 1 интерактивный) — по-прежнему отключить guideline PHPUnit, оставить Pest. Composer.json в `app/` уже фиксирует `pestphp/pest: ^4.7`.
|
||||
- **Сводка §0:** без изменений (69 ✅ / 5 🟦 / 4 ⏸ / 1 P0 + 3 P1) — переоткрытие CTO-12 не двигало счётчик, остался ✅.
|
||||
|
||||
**Что изменилось в v1.15 относительно v1.14:**
|
||||
|
||||
@@ -117,7 +123,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 / архитектор | 16 | 16 (CTO-1..16, CTO-12 закрыт 08.05 — Pest 3) | 0 | 0 | 0 | 0 | 0 |
|
||||
| CTO / архитектор | 16 | 16 (CTO-1..16, CTO-12 переоткрыт+закрыт 08.05 поздний вечер — Pest 4) | 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 | 3 (Диз-1 закрыт 08.05 handoff'ом, Диз-2, Диз-4) | 0 | 1 (Диз-3 ждёт Б-1) | 0 | 1 | 0 |
|
||||
| DevOps / эксплуатация | 5 | 3 (DO-1, DO-3, DO-5) | 0 | 2 (DO-2, DO-4 ждут Б-1) | 0 | 2 | 0 |
|
||||
@@ -188,7 +194,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 |
|
||||
| ✅ **CTO-12** | **Pest 4** (не PHPUnit). Обоснование: datasets лаконично покрывают 14 статусов воронки и 34 RLS-политики; architecture testing закрепляет правила («integration тесты не должны мокировать БД» — линт вместо памяти); родной для Laravel/Boost (один guideline вместо разрыва); Pest 4 backward-compat с Pest 3 syntax + бонус: browser testing без Dusk, stress, mutation v2 | Закрыт 08.05 (Pest 3), переоткрыт+закрыт 08.05 поздний вечер (Pest 4 — проверка на live-стеке). Импакт: [Tooling_v8_3.md §3.3](Tooling_v8_3.md), [CLAUDE.md §3.2](../CLAUDE.md). composer.json в app/: `pestphp/pest: ^4.7`. На `boost:install` отключить guideline PHPUnit, оставить Pest |
|
||||
|
||||
---
|
||||
|
||||
@@ -311,7 +317,7 @@
|
||||
- ✅ Диз-1 закрыт 08.05.2026 — handoff Платона покрыл HTML-прототипы (13/8). Прил. Л не выпускается.
|
||||
- ✅ Narrative v8.4 завершён 06.05.2026 (13/13). Архив v8.4 финал.
|
||||
- ✅ Аудит C закрыт 07.05.2026 — все 27 решений зафиксированы в §13.10 реестра v1.12.
|
||||
- ✅ CTO-12 закрыт 08.05.2026 — Pest 3 (см. §3).
|
||||
- ✅ CTO-12 закрыт 08.05.2026 (поздний вечер) — **Pest 4** (переоткрыт с Pest 3 после live-проверки на стеке, backward-compat подтверждён). См. §3.
|
||||
- Гигиена v8.5: запись v8.5 в `Объединённый_конспект.md` (отложена), ER-диаграммы Mermaid под schema v8.5 (отложены).
|
||||
- Обратная связь Платону по 4 расхождениям handoff vs ТЗ (статусы / click-wrap / SSO / axe).
|
||||
- При триггере фазы 1 (`composer create-project`) — `boost:install` по Прил. Н §10.1 (теперь с Pest 3).
|
||||
|
||||
Reference in New Issue
Block a user