Andrey Epifancev 29cd569157 chore(openspec): архив hub-modules (#87)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 23:42:27 +04:00

4.8 KiB
Raw Blame History

Why

Хаб перестаёт быть только мостом Jira. Следом за ним идёт модуль вики (evaTeam Wiki: дерево страниц проекта Markdown-файлами, MCP для сверки решений с тем, что зафиксировали аналитики) и спринты/бэклог в модуле Jira. Сейчас весь код — один плоский пакет, где «команда», «агент», «проект» и «зеркало Jira» переплетены: очередь знает про refresh, доски и вложения, api — одна таблица из 35 маршрутов, MCP — один сервер на всё.

Решения владельца 23.10.2026 (brainstorming, jira-hub#87):

  • хаб становится sdlc-hub: ядро + модули, Jira — первый модуль, вики — второй;
  • у вики будет отдельный агент (не jira-agent) и отдельный MCP — «чтобы не перегружать»;
  • сначала перестраиваем код под старым именем; переименование (репозиторий aep/jira-hub, launchd ru.aepif.jira-hub, ~/.local/share/jira-hub, имя MCP jira-hub, CLI) — позже, отдельной задачей, но помним о нём.

What Changes

  • Ядро и модуль jira в коде. Пакет делится на jira_hub/core/ (база и миграции, настройки, проекты, хранилище файлов, реле, релиз агента, очередь пакетов, HTTP-сервер и авторизация, общий слой MCP, CLI) и jira_hub/modules/jira/ (зеркало, журнал изменений, вложения, контракт команд, свои маршруты, инструменты MCP, импорт). Модуль подключается к ядру описанием Module: таблицы, типы команд и обработчики очереди, маршруты, настройки, фоновые работы, инструменты MCP.
  • Очередь без знания о Jira. Механика пакетов, выдачи, довыдачи, отчётов и подтверждения остаётся в ядре; всё, что сейчас завязано на конкретные типы (refresh, ensure_attachment, fetch_attachment, ensure_sprint), уходит в обработчики модуля jira.
  • MCP по модулю. jira-hub mcp jira [--project <метка>] — сервер модуля jira; jira-hub mcp [--project <метка>] без модуля — то же самое, как сейчас (записи в .mcp.json awp-ca и user scope не меняются).
  • Веб по модулю. Страницы «Доска», «Задачи», «Лента», карточка и обновление из Jira переезжают в web/src/modules/jira/; оболочка собирает страницы, пункты боковой панели и действия из списка модулей.
  • Документация. ARCHITECTURE.md и CLAUDE.md описывают ядро и модули.

Внешнее поведение не меняется: те же адреса HTTP API и веба, те же инструменты MCP, та же схема базы (v6), тот же протокол агента. jira-agent не трогается.

Non-Goals

  • Переименование в sdlc-hub (репозиторий, пакет jira_hub, launchd, каталог данных, имя MCP, CLI jira-hub).
  • Модуль wiki, eva-agent, вкладка вики в вебе.
  • Несколько видов агентов (токен, agent_status, релиз и claim по виду агента) — в change модуля wiki, когда появится второй агент.
  • Спринты и бэклог.
  • Новые возможности API, MCP или веба.

Anti-Goals

  • Живой агент v14 перестал получать команды, обновляться или отчитываться.
  • Запись jira-hub в .mcp.json awp-ca или в user scope перестала работать или потеряла инструменты.
  • Сменились адреса веба (/app/board, /app/issues, /app/feed, /app/issues/{key}) или ключи localStorage.
  • Миграция схемы или перенос файлов в каталоге данных.
  • «Большой взрыв»: одна правка на весь пакет, которую нельзя проверить по частям; набор тестов красный между шагами.