- Переименование: docs/README_АРХИВ_v8_3.md → _v8_4.md.
- Шапка: версия v8.3.3 → v8.4, состав 18 → 17 файлов в docs/
(минус удалённый Plan_narrative_v8_4.md).
- Эволюция версий: добавлена запись v8.4 (06.05.2026 поздний вечер,
финал narrative + переименование + schema v8.4 + регистр v1.10).
- Главный narrative: имя файла _v8_3 → _v8_4, размер ~310→~340 КБ,
описание расширено под все 13 разделов плана v8.4.
- Прил. А (schema.sql): v8.3 → v8.4, метрики 51/81/31 → 53/86/33,
+outbound_webhook_subscriptions/deliveries (закрытие тех-долга §19.10).
- Прил. Е (Открытые_вопросы): v1.6 → v1.10 (40✅/5🟦/5⏸, 0 P2).
- «Что осталось мне (Claude)»: v8.4 narrative ✅ выполнено;
Прил. Л — 3/8 готово, осталось 04..08.
- История версий: добавлена строка v8.4.
- Обновлены кросс-ссылки в CLAUDE.md (§0), README.md, db/CHANGELOG_schema.md,
docs/Tooling_v8_3.md, docs/CRM_bp-gr_Инструкция_v8_4.md.
- Исторические упоминания старого имени в Объединённый_конспект.md,
Analiz_originala_v8_3.md, Pravila_raboty_Claude_v1_1.md и в записях
прошлых версий — оставлены намеренно (правило §4.4 правил работы
Claude — прослеживаемость решений).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
§5 Источник данных — Webhook:
- §5.1 переписан: 3 канала ingress (webhook ~95%, manual ~3%, CSV ~2%)
- Добавлен блок про outbound webhook как уникальное преимущество
с привязкой к §19.10 и 7 линиям доказательств
§8 Воронка и статусы:
- §8.1: 14 статусов с явным разделением 6 системных vs 8 настраиваемых,
цвета hex из брендбука v1.1, описание каждого статуса
- §8.2: free state machine (CTO-2) с 4-пунктным обоснованием
- §8.5 переписан в 4 подсекции: что настраивается (только название
на MVP), примеры, резолв через Redis-кеш, UX inline-редактирования
§9 Мои Проекты (большой раздел):
- 5 → 10 подсекций
- §9.2: таблица с лимитами/регионами/днями
- §9.4: карточка проекта 11 секций (паритет с оригиналом, партии 10.3-10.7)
- §9.5: EffectiveLimitCalculator (главное расхождение №2 с оригиналом):
динамический effective_daily_limit_today, 5 триггеров пересчёта,
логирование в project_limit_adjustments
- §9.6: project_suppliers m2m
- §9.7: soft-delete + retention 180 дней (Биз-14, cron disabled до Б-1)
- §9.8: capabilities поставщиков B1/B2/B3 (партия 13.3.5)
- §9.9: расширенные действия. §9.10: окно обслуживания (паритет не делаем)
§12 Дашборд:
- §12.5.6 «Конверсия проектов» (паритет с /admin/visit/rt-stat,
партия 12.1): 17 колонок (id/тег/проект/статус/источник/обработано
+ 11 status-колонок), формат N (XX.XX%), monotone per column,
total-row, видимость через users.preferences
- Наши расширения сверх паритета: экспорт XLSX через report_jobs +
drill-down из ячейки в /deals
- +2 эндпоинта в §12.6
Шапка narrative обновлена. План v8.4: 12/13 ✅ (было 8/13).
Осталось только §23.10 Админка SaaS (большой). cspell-words.txt:
+резолв, +пунктным.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
§22.2 Транспортный уровень: CSP-строка расширена до полной политики
(script-src без 'unsafe-inline', object-src 'none', frame-ancestors
'none', report-uri /csp-report).
§22.11 «Защита от prompt injection в DOM» (новый, 4 уровня):
- 22.11.1 — полная CSP-политика с 13 директивами
- 22.11.2 — CI-линтер запрещает в DOM элементы с ID/class
на префиксы claude-/gpt-/agent-/ai-
- 22.11.3 — DOMPurify-конфиг для всех v-html
- 22.11.4 — методология аудита third-party скриптов
(31 keyword grep + SRI-хеши + ежеквартальный re-audit)
- 22.11.5 — что НЕ делаем (не блокируем легитимных AI-агентов)
Контекст — атака `claude-agent-stop-container/glow-border/animation-styles`,
найденная во ВСЕХ страницах crm.bp-gr.ru (партии 10, 12-15 аудита).
§22.12 «Антипаттерны оригинала» (новый):
- 22.12.1 — защита формы смены пароля (vs пароль в `<input type="text">`
оригинала, партия 14.3.4)
- 22.12.2 — защита форм интеграций (vs API credentials в `<input type="text">`
всех 5 карточек оригинала, партия 15.2.3)
- 22.12.3 — code review checklist (7 пунктов)
Шапка narrative обновлена. План v8.4: 7/13 ✅ (было 6/13).
cspell-words.txt: +санитизация, +санитизируются.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
§14 Activity Log: 17 событий (+6 новых: project_changed, phone_changed,
phones_changed, contact_name_changed, reminder_completed, restored).
§14.7 vs оригинал — таблица «что не логирует crm.bp-gr.ru» (партия 11.4).
§18.4 Безопасность: §18.4.1 Биз-9 (2FA на всех тарифах), §18.4.3 retention
auth_log, §18.4.4 уведомления о подозрительной активности (6 типов алертов),
§18.4.5 vs оригинал — 7 функций безопасности (партии 14.3.2–14.3.4).
§19.10 Outbound webhook: статус MVP по OPEN-И-2 (был «v2, не реализуется»).
10 подсекций: 7 линий доказательств уникальности (партии 9–15), формат
запроса, HMAC SHA-256, retry до 24ч, защита от SSRF, rate-limit.
Шапка narrative: блок «Что нового в v8.4» обновлён.
План: 6/13 ✅ (было 3/13). Тех-долг — DDL outbound_webhook_subscriptions
+ outbound_webhook_deliveries при правке §7 v8.4.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Закрытие 11 вопросов с дефолтами (утверждено 06.05.2026):
- Биз-6 — режим «по запросу» (15 партий аудита уже сделано)
- Биз-10..13 — модель reminders, один кошелёк ₽, телефония Post-MVP, magic-link 24ч
- Биз-14..16 — TTL 180д, OSINT не делаем, desired_daily_numbers
- OPEN-К-1, К-7 — Cloud Boost grant и CVoS отложены
- OPEN-И-12 — контакты эскалации в Notion private до DO-4
Сводка после v1.10: 50 продуктовых = 40 ✅ + 5 🟦 + 5 ⏸ (Б-1 P0;
Диз-1/3, DO-2/4 — все P1 ждут Б-1 или у Claude). Все P2 закрыты.
Plan_narrative_v8_4.md — компактный план переписывания 13 разделов
ТЗ под решения 04–06.05 + аудит партий 1–15. Сам narrative не трогали.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>