Активны Прил. Н #15 squawk и #16 pgFormatter; фаза 1 по тулчейну
закрыта 13/17 (без #17 pg_partman — Windows native стек).
squawk:
- bin/squawk.exe (npm i -g squawk-cli + копия из ~/AppData/...
/squawk-cli/js/binaries/squawk → bin/squawk.exe; npm-wrapper
не находит spawn-target без .exe на Windows)
- .squawk.toml: 9 правил исключено (5 bootstrap-неприменимых +
4 дизайнных решения проекта). Smoke-test на db/schema.sql — 0 issues.
- lefthook.yml: pre-commit job на staged *.sql
- npm run lint:sql
pgFormatter:
- bin/pgFormatter/ (pg_format + lib/ из v5.9 release tarball,
запуск через Cygwin Perl 5.42.2 из Git for Windows — без
отдельной установки ActivePerl/Strawberry)
- Без авто-fix хука: diff vs db/schema.sql 3255 строк
(UPPERCASE→lowercase для типов, плотный одностроковый стиль,
перетасовка inline-комментариев) — стиль schema.sql ручной,
авто-fix недопустим
- Только ручной режим: npm run format:sql:check (dry-run + diff),
npm run format:sql (пишет в db/schema.sql.formatted для review)
Документы:
- Tooling Прил. Н v1.5 → v1.6 (§0 «Что нового», §3.3 таблица,
§10.1 п.8 ⏸→✅, §11.4 уточнение по Cygwin Perl)
- CLAUDE.md v1.8 → v1.9 (§0 ссылка, §6 текущая фаза 17/28,
колонтитул)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Получен handoff-пакет liderra_v8_handoff/ от дизайнера Платона
(kpd9363@gmail.com) от 07.05.2026 — v8 Forest. Заказчик 08.05 решил
применить только в части дизайна, имени, логотипа. Функционал, состав
страниц и правила (CTO-11, click-wrap, SSO break-glass, 14 статусов
воронки) — без изменений (источник — ТЗ v8.5/schema v8.5).
Что сделано:
- Массовая замена Лидпоток→Лидерра (с учётом падежей: Лидерры/Лидерре)
в 33 файлах (449 вхождений) — все .md/.sql/.json/.toml/.yml/.txt/.html,
кроме исторических упоминаний внутри liderra_v8_handoff/
- Удалён docs/brandbook.md v1.1 — заменён на BRANDBOOK_v2.md из handoff
- Скопированы 13 концептов liderra_v8_handoff/concepts/v8_*.html в
web/v8/. Удалены старые web/01-login.html, 02-dashboard.html,
03-deals.html, index.html (палитра v1.1 deprecated)
- CLAUDE.md v1.0→v1.1: §0 (BRANDBOOK_v2 + DEVELOPER_HANDOFF в источниках),
§2 (палитра Forest, Inter+JBM, Lucide), §5 п.6 (anti-pattern Inter
снят — в Forest Inter наш основной шрифт), §6 (13 концептов в web/v8/)
- Реестр Открытые_вопросы_v8_3.md v1.12→v1.13: добавлена запись о
ребрендинге + 4 точечных расхождений handoff vs ТЗ (статусы воронки,
click-wrap чекбоксы, SSO fallback, axe violations)
- package.json/package-lock.json: name lidpotok→liderra
4 расхождения handoff vs ТЗ (НЕ применены, источник истины — ТЗ/schema):
1. 14 «обобщённых» статусов в BRANDBOOK_v2 §3.6 ≠ 14 slug'ов в
schema.sql:2076 (совпадает 2 из 14: «Переговоры», «Оплачено»).
Источник — schema/ТЗ §6.4 (реселлерская модель из аудита crm.bp-gr.ru,
6 системных + 8 настраиваемых статусов).
2. 3-й click-wrap в v8_login.html («маркетинг-опционально») ≠ ТЗ §1.5/§4.1
(«согласие на ПДн», обязательное, OPEN-Ж-3).
3. SSO в v8_admin.html («локальный 2FA fallback») ≠ ТЗ OPEN-И-13
(break-glass super_admin, локальный 2FA выключен).
4. Заявление «axe-core 4.10.2 — 0 violations» в README handoff — локально
Pa11y 9.1.1 + axe нашёл 81 violation на 10/13 HTML (преимущественно
color-contrast на декоративных separator'ах с --ink-disabled).
Чисто: settings/errors/palette_options.
Что НЕ включено в коммит:
- лендинг/TZ_landing_v1_0.md — untracked, не моя работа в этой сессии
- .tmp/ — gitignored
Что осталось (для следующих сессий):
- Возможное переименование GitHub-репо CoralMinister/lidpotok → liderra
(отдельное решение заказчика)
- Опционально: обратная связь Платону по 4 расхождениям handoff vs ТЗ
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- schema.sql: forward FK saas_admin_sessions.impersonating_tenant_id и
impersonation_tokens.tenant_id → tenants(id) вынесены в ALTER TABLE
после CREATE TABLE tenants (миграция с нуля больше не падает на
forward-reference).
- schema.sql: partial-индексы idx_saas_admin_sessions_expires и
idx_sessions_expires переведены на полное поле expires_at — PostgreSQL
не разрешает NOW() в предикате частичного индекса (STABLE, не IMMUTABLE).
- package.json:10 (links): lychee → bin\lychee.exe — Windows-cmd корректно
резолвит относительный путь только через backslash.
- CHANGELOG_schema.md: запись Z.5 (hotfix v8.4) с метриками 53/86/33/34.
Метрики schema.sql v8.4 не меняются. Self-review §8 CLAUDE.md пройден.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>