Commit Graph

5 Commits

Author SHA1 Message Date
Дмитрий 887abf444e rebrand(v8.5→Лидерра): дизайн-handoff Платона v8 Forest + Лидпоток→Лидерра
Получен 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>
2026-05-08 07:11:58 +03:00
Дмитрий 4ffc19a7d2 docs(narrative): v8.4 → v8.5 — реализация 27 решений аудита C
Завершает блок реализации v8.5 после schema-коммита 038a884.

Переименования:
- docs/CRM_bp-gr_Инструкция_v8_4.md → _v8_5.md
- docs/README_АРХИВ_v8_4.md → _v8_5.md

Новые подразделы narrative (in-place):
- §10.8: Антифрод дублей (Биз-19), routing (Биз-17, CTO-16), scoring
  (Биз-22), регион (Биз-23), эскалация (OPEN-И-25), call-recordings
  задел (OPEN-И-26)
- §12.5.5: TTFR-SLA (Биз-18), UTM-когорты (CTO-14)
- §14.8: Append-only audit hash chain (OPEN-И-15), report_jobs export
  trigger (OPEN-И-20)
- §17.9: Telegram-бот (Биз-20), эскалация-нотификации (OPEN-И-25),
  late waiting_payment alert (Биз-24)
- §19.10.11–12: DNS-rebinding pin-IP (OPEN-И-18),
  marketing.conversion event (Биз-21)
- §22.13: SSO Yandex 360 + JIT + break-glass (OPEN-И-13), SET LOCAL
  test plan (CTO-13), RLS WITH CHECK + REVOKE (OPEN-И-14), Sentry
  PII whitelist+regex (OPEN-И-16), anti-DDoS Nginx+SmartCaptcha+
  blacklist (OPEN-И-21), TTL secrets 365d (OPEN-И-17/19),
  two-person impersonation (CTO-15+Ю-9), audit hash chain link
- §23.10.11: SSO login UI, break-glass dashboard, two-person UI,
  152-ФЗ ст.21 hard-block UI
- §7.1: метрики обновлены 53→54/86→91/33→34/3→4/12 триггеров/4 функции

Прил. И Часть Г (новая) — 9 операционных процедур:
- Г.1 RLS smoke-test через PgBouncer (CTO-13, BLOCKER для фазы 1)
- Г.2 Cron audit:verify-chain (OPEN-И-15)
- Г.3 Cron secrets:notify-expiring (OPEN-И-17)
- Г.4 Anti-DDoS (Nginx + Yandex SmartCaptcha + disposable-blacklist)
- Г.5 Per-tenant DEK + crypto-shred (OPEN-И-22)
- Г.6 pg_anonymizer для staging (OPEN-И-24)
- Г.7 Yandex 360 SSO setup (OPEN-И-13)
- Г.8 Cron leads:escalate-stale (OPEN-И-25)
- Г.9 Cron payments:notify-stale (Биз-24)

Кросс-ссылки обновлены: CLAUDE.md, README.md, web/index.html,
README архива (переименован v8_4→v8_5). Schema.sql v8.5 шапка
указывает на narrative v8_5.md.

cspell-words.txt: +SPE, +gethostbyname.

Lint+spell чистые. Архитектурно фаза 1 (composer create-project)
разблокирована — требуется только Г.1 (e2e-тест RLS) в спринте 1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 18:09:22 +03:00
Дмитрий c8db9a26c4 docs(narrative): v8.4 финал (§23.10 + 13/13 + rename _v8_3 → _v8_4)
- §23.10 Админка SaaS: расширен с 5 до 10 подсекций — Биз-16
  (колонка «Желаемое × факт сегодня» с цветовым кодированием),
  Ю-2 (поставщики, дашборд маржи, сверка счетов), OPEN-Д-5/И-1
  (incidents_log: 8 типов × 4 severity, 24ч SLA уведомления РКН для
  data_breach по 152-ФЗ ст.18.1 ч.3.1), Прил. Д (workflow обращений
  субъектов ПДн с 30-дневным SLA), таблица преимуществ vs оригинал.
- Шапка narrative: убрано «in progress», блок «Что нового в v8.4»
  дополнен §23.10. Подвал: имя файла v8.4.
- Переименование: CRM_bp-gr_Инструкция_v8_3.md → _v8_4.md.
- Кросс-ссылки обновлены: CLAUDE.md (§0/§2/§6/§8 — версии, метрики
  схемы 53/86/33, счётчик прототипов 3/8), README.md (версии, статусы
  прототипов, репо CoralMinister), db/schema.sql, db/CHANGELOG_schema.md,
  web/index.html.
- .lychee.toml: exclude приватного github.com/CoralMinister/lidpotok
  (404 анонимно — норма).
- Plan_narrative_v8_4.md удалён (план v8.4 выполнен полностью, 13/13).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 19:14:53 +07:00
Дмитрий 938066fefe docs(narrative)+web: narrative v8.4 partial (§1, §17, §26) + HTML-прототип 03 «Список сделок»
Narrative переработан под решения 04–06.05 + аудит партий 1–15:
- §1.4.1 — 7 конкурентных преимуществ vs оригинал crm.bp-gr.ru
- §1.5 — 3 формата ingress (webhook/manual/CSV), 3 чекбокса click-wrap
- §17.8 — Тихие часы (start_hour/end_hour 0..23, минимум 3 часа,
  общий timezone тенанта), паритет с партией 13.2.1
- §26 — полная замена под брендбук v1.1: палитра Teal (#0F6E56),
  сетка 4px, JetBrains Mono, маскирование credentials как
  антипаттерн оригинала.

Шапка narrative — блок «Что нового в v8.4» с маппингом 11 закрытых
вопросов из реестра v1.10. Остальные 9 разделов плана —
в Plan_narrative_v8_4.md (отдельные сессии).

web/03-deals.html — прототип «/deals»:
- Sidebar + topbar + balance widget (как 02-dashboard)
- Sticky-фильтры: поиск FTS, проект, статус, менеджер, период, теги,
  «только с напоминанием», кнопки Колонки/Экспорт/Создать
- Bulk-actions bar при выборе строк
- Таблица 20 демо-строк с 14 цветными статусами (включая 🔥 Горячий)
- Pagination, low-balance баннер, чекбоксы, sort-индикаторы
- Телефоны маскированы по правилу gitleaks `ru-phone-unmasked`
  и брендбуку §9 (формат +7 (XXX) ***-XX-XX)
- web/index.html: 03 → готов, счётчик 3/8

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 13:25:35 +07:00
Дмитрий b5cda8886d Restructure: split files into docs/web/db folders 2026-05-06 01:39:59 +07:00