diff --git a/History/gemini-strategy-2026-06-28.md b/History/gemini-strategy-2026-06-28.md new file mode 100644 index 0000000..141a9bc --- /dev/null +++ b/History/gemini-strategy-2026-06-28.md @@ -0,0 +1,47 @@ +# Стратегия: превращение в настраиваемый продукт + +Источник: Gemini, 28.06.2026 + +## Главный тезис + +Модель **«настраиваемое ядро + доменная конфигурация»** — единственно жизнеспособная в B2B. +Не «коробка для всех», а движок который адаптируется под заказчика без форка кода. + +## Что уже хорошо +- Промпты в БД с версионированием и ролями (`extract`/`diff`) +- `prompt_version` в событиях — воспроизводимость +- Event Sourcing, аудит, логирование ответов LLM +- testgen для синтетических данных +- DI: LLM клиент + Repository (Ф1-Ф4) + +## Что нужно изменить + +### 1. Поля позиции → JSONB +Сейчас `spec_current` имеет жесткие колонки: `name`, `price`, `qty`, `sum`, `date_start`. +Надо: одна колонка `payload JSONB` вместо них. +Для клиента с НДС/артикулом/единицей измерения — БД и миграции не меняются. + +### 2. Валидация в плагины +Сейчас арифметика `sum = price*qty` зашита в код. +Надо: интерфейс валидатора. Вход: JSONB от LLM. Выход: bool + ошибки. +Новый заказчик = новый валидатор, ядро не трогаем. + +### 3. Экспорт/интеграция через Read Models +Ядро заканчивается на Event Stream. Отчёты, выгрузки в 1С/Excel/ERP — отдельные проекции. +Новый заказчик = новая проекция, те же события. + +## Архитектурная цель + +``` +Неизменяемое ядро (Core): + Приём → Парсинг → LLM → Event Sourcing (JSONB) → Аудит + +Адаптационный слой (Домен): + Промпты (БД) + Валидаторы JSONB + Проекции (отчёты/экспорт) +``` + +Ядро не меняется от клиента к клиенту. Адаптация: новые промпты, правила валидации, форматы выгрузки. + +## Текущая коммерческая ценность +Проект закрывает конкретную дорогую боль — сверку цепочек изменений договоров. +Фундамент (Event Sourcing, тесты, промпты в БД) заложен правильно.