2026-10-24 00:18:31 +04:00

54 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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.