54 lines
5.3 KiB
Markdown
54 lines
5.3 KiB
Markdown
## Why
|
||
|
||
Аналитики фиксируют требования и решения в evaTeam Wiki (Eva). Владельцу нужно две вещи: проверять задачи аналитиков и
|
||
вовремя замечать, что его решения (и решения Claude в awp-ca) расходятся с тем, что аналитики уже записали в вики.
|
||
Сейчас вики живёт отдельно от хаба, и Claude её не видит.
|
||
|
||
Решения владельца 23–24.10.2026 (brainstorming, jira-hub#91):
|
||
- проект хаба связан не только с меткой Jira, но и с **одной корневой страницей Eva**, дерево под ней обходится
|
||
рекурсивно; у каждого проекта метка Jira есть всегда, корень вики с меткой не совпадает; на общий случай (проект без
|
||
метки, несколько корней) не обобщаем;
|
||
- страницы хранятся **Markdown-файлами** в `~/.local/share/jira-hub/wiki/<проект>/` — удобный формат, читаемый из
|
||
терминала;
|
||
- главное — **MCP**, веб — вторым; MCP вики — **отдельный сервер** модуля, «чтобы не перегружать»;
|
||
- в Eva ходит **отдельный агент `eva-agent`**, не jira-agent;
|
||
- **картинки и файлы** страниц — только по запросу, как вложения Jira (#83): они бывают большими;
|
||
- **запись в вики и история изменений** (30 дней) — нужны, но позже; сейчас базовый функционал.
|
||
|
||
Это второй шаг к sdlc-hub после модульной перестройки (#87). Там же оставлены два хвоста, которые закрываются здесь:
|
||
доски проекта в ядре (метки `долг hub-modules`) и единственный агент.
|
||
|
||
## What Changes
|
||
|
||
- **Модуль `wiki` хаба** (`jira_hub/modules/wiki/`): привязка проекта к корню Eva, копия дерева страниц Markdown-файлами
|
||
и индекс для поиска, список вложений страниц, команды `wiki_sync` и `wiki_fetch`, маршруты HTTP, фоновая синхронизация
|
||
раз в сутки.
|
||
- **MCP вики** `jira-hub mcp wiki [--project <метка>]`: дерево проекта, страница, поиск, вложение, синхронизация,
|
||
состояние.
|
||
- **Веб**: страница «Вики» проекта — дерево, страница в Markdown, поиск, обновление, скачивание вложений.
|
||
- **Виды агентов в ядре**: у каждого модуля с командами — свой агент со своим токеном, статусом, опубликованным релизом
|
||
и самообновлением; `claim` выдаёт агенту только команды его модуля. jira-agent v14 работает без изменений.
|
||
- **Проекты без Jira в ядре**: доска (`board_id`, `board_type`) и число задач переезжают в модуль jira; модуль добавляет
|
||
свои поля в создание проекта, в список проектов, в MCP `projects`/`project_create` и в окно «Новый проект». Все метки
|
||
`долг hub-modules` снимаются.
|
||
- **eva-agent** (новый репозиторий `aep/eva-agent`, создаёт владелец): Python 3.9 на stdlib, клиент Eva JSON-RPC,
|
||
транспорт через общую папку, `run.py` и самообновление по образцу jira-agent. Контракт команд — в этой спеке; решения
|
||
агента — в его собственном design-only change.
|
||
|
||
## Non-Goals
|
||
|
||
- Запись в вики (правка и создание страниц) — позже, командами eva-agent через ту же очередь.
|
||
- История изменений страниц за 30 дней (встроенная в Eva или своими снимками) — позже; заодно частичная перекачка только
|
||
изменённых страниц.
|
||
- Проект без метки Jira, несколько корней вики у проекта, обобщённая «привязка внешних источников».
|
||
- Переименование в sdlc-hub.
|
||
- Спринты и бэклог.
|
||
- Obsidian и любые внешние читатели копии: формат файлов не подстраиваем под них.
|
||
|
||
## Anti-Goals
|
||
|
||
- Сломать живой мост: jira-agent v14 без обновления, MCP `jira-hub` в awp-ca, адреса веба и API модуля jira.
|
||
- Токен Eva на Mac mini: он живёт только в конфиге eva-agent на виртуалке, как пароль Jira у jira-agent.
|
||
- Скачивание всех картинок и файлов Eva при синхронизации.
|
||
- Хаб, который сам ходит в Eva.
|