Files
contracts-flask/History/gemini-strategy-2026-06-28.md
T

2.6 KiB

Стратегия: превращение в настраиваемый продукт

Источник: 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, тесты, промпты в БД) заложен правильно.