docs: define Telegram AI infrastructure MVP
This commit is contained in:
75
docs/decisions/001-mvp-boundaries-and-rules.md
Executable file
75
docs/decisions/001-mvp-boundaries-and-rules.md
Executable file
@@ -0,0 +1,75 @@
|
||||
# Решение 001: границы и правила первой версии Telegram-инфраструктуры
|
||||
|
||||
Статус: рабочий черновик, требует подтверждения команды
|
||||
Дата: 2026-07-31
|
||||
|
||||
## Цель
|
||||
|
||||
Проверить рабочий цикл «обсуждение в Telegram → экспорт → ручной анализ в ChatGPT → подтверждение → фиксация в Git/Gitea» на небольшом и безопасном объёме.
|
||||
|
||||
Telegram не является хранилищем проекта, а бот и ChatGPT не принимают окончательных решений и не изменяют репозиторий без подтверждения команды.
|
||||
|
||||
## Что входит в MVP
|
||||
|
||||
- Telegram-супергруппа с темами `Общее` (стандартная тема), `MVP`, `Решения`, `Обсуждение` и `Работа с ИИ`.
|
||||
- Тема `MVP` используется только для обсуждения границ первой версии. После фиксации MVP тема закрывается.
|
||||
- Тема `Обсуждение` используется для рабочих гипотез и вопросов, которые ещё не стали подтверждёнными решениями.
|
||||
- В теме `Решения` бот публикует итоговые сводки и подтверждённые решения после завершения обсуждения. Сообщения бота являются единственным редактируемым источником итогового текста; пользователи не редактируют сообщения бота.
|
||||
- Тема `Работа с ИИ` закрытая: в ней публикуются только сообщения бота о корректных подходах, best practice, типичных ошибках и недопустимых формулировках при работе с ИИ. Отдельный FAQ будет подготовлен позднее как библиотека таких практик.
|
||||
- Бот принимает сообщения только из явно разрешённых тем.
|
||||
- Для сообщения сохраняются текст, автор, дата и время, тема, идентификатор сообщения и связь с ответом.
|
||||
- Экспорт выполняется по ручной отметке участника или по явно заданному диапазону темы.
|
||||
- Экспорт формируется в Markdown и включает контекст, сообщения по времени, ссылки и доступные вложения.
|
||||
- Участник вручную загружает экспорт в ChatGPT и возвращает результат в Telegram.
|
||||
- Gitea-уведомления на старте можно публиковать в `Общее` либо в отдельную тему после появления такой потребности. События ограничиваются PR, задачами, дедлайнами и сбоями важных проверок.
|
||||
- Подтверждённые решения и изменения документации фиксируются в Git/Gitea обычным review-процессом.
|
||||
|
||||
## Что не входит в MVP
|
||||
|
||||
- API-интеграция с языковой моделью и автоматический ИИ-чат.
|
||||
- Автоматическое принятие решений, изменение кода или создание PR без подтверждения.
|
||||
- Сбор всех сообщений группы по умолчанию.
|
||||
- Полнотекстовый поиск, RAG, векторная база и сложная аналитика.
|
||||
- Уведомление о каждом push, комментарии или техническом событии.
|
||||
|
||||
## Правила данных и приватности
|
||||
|
||||
1. Автоматически собираются только сообщения из согласованных рабочих тем.
|
||||
2. Ручной экспорт имеет приоритет над автоматическим сбором.
|
||||
3. Вложения экспортируются только если бот имеет к ним доступ и их включение разрешено правилами темы.
|
||||
4. Конфиденциальные, персональные и юридически чувствительные данные не отправляются во внешний сервис без отдельного разрешения команды.
|
||||
5. Срок хранения сообщений, вложений и экспортов должен быть утверждён до включения автоматического режима.
|
||||
6. Доступ к боту, архиву и уведомлениям получают только участники из согласованного списка.
|
||||
|
||||
## Утверждённые решения
|
||||
|
||||
- Используются темы `MVP`, `Решения`, `Обсуждение` и `Работа с ИИ`; тема `Общее` остаётся стандартной.
|
||||
- `MVP` закрывается после фиксации состава первой версии.
|
||||
- Итог обсуждения формирует бот и публикует в `Решения`.
|
||||
- `Работа с ИИ` предназначена только для публикаций бота и будет содержать best practice, а не обычный FAQ.
|
||||
- Остальные параметры первой версии из этого документа считаются утверждёнными, если команда не изменит их отдельным решением.
|
||||
|
||||
## Граница между ботом и ИИ
|
||||
|
||||
- Бот без обращения к API языковой модели полностью выполняет сбор сообщений, сортировку, добавление метаданных, подготовку вложений и формирование Markdown-экспорта.
|
||||
- Бот добавляет к экспорту готовую инструкцию для ручной загрузки в обычный ChatGPT.
|
||||
- Выделение решений, задач, рисков, противоречий и открытых вопросов выполняется в ChatGPT вручную через подписку участника.
|
||||
- Бот может принять возвращённый человеком отчёт, опубликовать его в Telegram и связать с исходным обсуждением.
|
||||
- Бот не выдаёт эвристический или шаблонный результат за выполненный ИИ-анализ. Поиск ключевых слов и ручные метки допустимы только как вспомогательная навигация.
|
||||
|
||||
## Техническое замечание о правах тем
|
||||
|
||||
Telegram позволяет запретить пользователям отправку сообщений в закрытой теме, но не даёт отдельного режима «пользователи обсуждают, а затем только бот публикует» внутри одной и той же открытой темы. Поэтому завершение обсуждения в `Решения` должно оформляться закрытием темы или переключением прав группы. В любом случае пользователи не смогут редактировать сообщения, отправленные ботом.
|
||||
|
||||
## Инфраструктурные предпосылки
|
||||
|
||||
- Доступы для настройки находятся в `credentials.txt`; секреты из этого файла нельзя включать в Git, логи CI/CD, экспорт Telegram или сообщения бота.
|
||||
- Для проекта можно создать открытый репозиторий в Gitea.
|
||||
- В Gitea необходимо настроить защиту `main`: прямые push запрещены, изменения проходят через pull request и проверки CI/CD.
|
||||
- Развёртывание бота планируется на Docker-инфраструктуре Synology.
|
||||
- PostgreSQL будет использоваться как хранилище бота; параметры доступа к базе будут предоставлены отдельно.
|
||||
- Почта может использоваться как дополнительный канал доставки файлов и отчётов, но не как основное хранилище.
|
||||
|
||||
## Критерий завершения Stage 0
|
||||
|
||||
Границы MVP, состав тем и правила работы с данными подтверждены. Остаётся реализовать жизненный цикл тем и экспортов, после чего можно проектировать схему хранения и команды бота, не меняя назначение первой версии по ходу реализации.
|
||||
Reference in New Issue
Block a user