docs(etalon): bump после фичи удаление-вместо-архива + дедуп + человеческие ошибки (6222961)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-05-21 08:56:08 +03:00
parent 6222961bf2
commit f220e9928f
2 changed files with 22 additions and 7 deletions
+1
View File
@@ -1587,3 +1587,4 @@ lemed
дропается
батч
ретраит
шеринге
+21 -7
View File
@@ -9,7 +9,7 @@
**перепроверять реальной командой**, не доверять снимку вслепую.
- Обновляется по команде заказчика **«обнови эталон»**.
**Снимок снят:** 21.05.2026 (ночь, после сквозного чек-листа всего портала + 6 фиксов: 3 stale эпик-теста под схему v8.26 + 3 UI-бага; запушено в main; volatile §1–§4 пересверены).
**Снимок снят:** 21.05.2026 (день, после фичи «удаление проектов вместо архива + дедуп источника + человеческие ошибки» — 10 коммитов FF в main; volatile §1–§4 пересверены).
---
@@ -18,9 +18,9 @@
- Git-корень репозитория — папка `Документация/` (**не** `app/`).
- Remote: `CoralMinister/lidpotok` (приватный).
- Текущая локальная ветка: **`feat/project-migration-redesign`**.
- Локальный HEAD = origin/main HEAD = **`31b5355`** (style(backend): pint concat_space — tip параллельного эпика A1 backend-tooling; мои 6 фиксов чек-листа ниже на `a0e18a1..b7466eb`; сверять `git log -1 origin/main`).
- Push паттерн: `git push origin <ветка>:main`. Мой push 21.05: `a0e18a1..b7466eb` (4 коммита FF: `95ee664` sync stale эпик-тестов + schema header v8.26, `ba49805` dashboard greeting, `17e3c04` topbar title, `b7466eb` admin mock-счётчики; pre-push gitleaks-full 1119/0, lychee 64/0). **Поверх** параллельная сессия влила эпик A1 backend-tooling `b7466eb..31b5355` (8 коммитов: Rector #64 / PHP Insights #65 / laravel-backend-patterns skill #66 / #67 + ADR-013 + нормативка Tooling v2.19 / PSR v3.19 / Pravila v1.35 / CLAUDE v2.22 + карта 137→141 узлов) — детали в её памяти/нормативке.
- Pre-push lefthook прошёл чисто (gitleaks-full 1115/0, lychee 64/0) — `--no-verify` не понадобился.
- Локальный HEAD = origin/main HEAD = **`22e81cc`** (chore(gitleaks): allowlist Nuclei docs false-positive — tail коммит моего эпика «удаление проектов»; сверять `git log -1 origin/main`).
- Push паттерн: `git push origin <ветка>:main`. Мой push 21.05 (день): `3b6992d..22e81cc` (10 коммитов FF — спека+план+7 имплементаций+gitleaks-allowlist); pre-push gitleaks-full 1155/0, lychee 64/0.
- Pre-push lefthook прошёл чисто после добавления `.gitleaksignore` (Nuclei docs `-u http://...` ловился rule `curl-auth-user` — false-positive из параллельной ветки `worktree-a8-infosec-tooling`, добавлен fingerprint).
- **Незакоммиченного нет** (фикс + тест запушены).
- Прочее незакоммиченное: `docs/observer/STATUS.md` + `episodes-2026-05.jsonl` (hook-артефакты brain governance, не мои); untracked artifacts (см. §4).
- Остатки от rebase (безопасно): `stash@{0}` с не-моими hook/parallel-артефактами (+5 других parallel-стэшей); `/tmp/plan4-rebase-bak/` — устаревшие untracked-копии 2 observer-файлов (committed-версии origin/main авторитетнее).
@@ -74,10 +74,11 @@
## 5. Ключевые факты (стабильно)
- Структура: git-корень `Документация/` · Laravel-приложение `app/` · фронтенд `app/resources/js/`
· сборка фронтенда → `app/public/build/` · схема БД `db/schema.sql` (**фактическая v8.26** —
Plans 1+3 эпика project-migration-redesign добавили `supplier_projects.subject_code` +
· сборка фронтенда → `app/public/build/` · схема БД `db/schema.sql` (**фактическая v8.27** —
21.05.2026 дропнута колонка `projects.archived_at` (фича архива заменена настоящим удалением);
v8.26 наследие — Plans 1+3 эпика project-migration-redesign: `supplier_projects.subject_code` +
`project_supplier_links` pivot + `deals.subject_code` + seed `supplier_export_mode` + CHECK chk_deals_subject_code.
Schema header синхронизирован на v8.26 (65 таблиц / 123 индекса, commit `95ee664`); CHANGELOG_schema.md содержит v8.26 entries).
Header v8.27 в commit `07d7387`; CHANGELOG_schema.md содержит v8.27 + v8.26 entries).
- Стек: Laravel 13 + PHP 8.3 · Vue 3 + Vuetify 3 (не Tailwind/Inertia) · PostgreSQL 16 · Redis.
- **Демо-доступ к порталу:** 5 изолированных компаний — `admin@demo.local` (Demo Tenant, 4 проекта) + `manager1@demo.local` (Компания Ивана) + `manager2@demo.local` (Компания Анны) + `manager3@demo.local` (Компания Петра) + `manager4@demo.local` (Компания Марии). Пароль у всех **`password`**. Каждый логин видит только своё. Админка `/admin/*` в local открыта любому залогиненному (`EnsureSaasAdmin` — стаб local/testing).
- Поставщик лидов: `crm.bp-gr.ru` (учётка в `.env` `SUPPLIER_*`); портал — Vue 2 + Element UI;
@@ -87,6 +88,19 @@
## 6. Текущие рабочие нити (детали — в памяти Claude)
- **Удаление проектов вместо архива + дедуп источника + человеческие ошибки — DONE+ЗАПУШЕНО** (21.05.2026 день,
`3b6992d..22e81cc`, 10 коммитов FF в main). По заказу: (1) кнопка «архивировать» заменена на настоящее удаление
(если по проекту есть сделки — блок с понятным сообщением, иначе hard delete + удаление донора у поставщика
с учётом шеринга — пере-синк остатка, если другие клиенты ещё пользуются источником); (2) подтверждена возможность
шеринга одинаковых источников между разными клиентами (модель не меняется); (3) добавлен запрет дубля источника
внутри одного клиента (раньше не было); (4) сырой `SQLSTATE` больше не уходит в UI — глобальный handler
`QueryException` + app-level pre-checks (имя/источник) с понятными сообщениями. Колонка `projects.archived_at`
и все `scopeActive/scopeArchived/->archived()` снесены, миграция `2026_05_21_000000`, schema bump v8.26→**v8.27**.
Новый job `App\Jobs\Supplier\DeleteSupplierProjectJob` — удаление/пере-синк донора при шеринге.
Регрессия: Pest filter=Project **229/228+1sk/0**, Vitest **896/3sk/0**, vue-tsc 0, Vite build OK, Pint/Larastan 0.
Живая проверка 5 сценариев (имя/источник дубль / sharing / удаление пустого / блок при сделках) — все ✓ с чисткой.
Спека: `docs/superpowers/specs/2026-05-21-project-delete-dedup-errors-design.md`, план:
`docs/superpowers/plans/2026-05-21-project-delete-dedup-errors.md`. Память: `project_delete_dedup_errors.md`.
- **Сквозной чек-лист всего портала + 6 фиксов — ЗАПУШЕНО** (21.05.2026, `a0e18a1..b7466eb`). Прогон всех ~30 экранов
(Playwright) + полная регрессия (Pest 1010/0, Vitest 895/0, pint/larastan/vue-tsc/build чисто). Портал здоров: все
экраны рендерятся, консоль чистая. Найдено и исправлено 3 UI-бага: (1) дашборд здоровался захардкоженным «Доброе утро,