25 Commits

Author SHA1 Message Date
Andrey Epifancev
08460dc281 feat(sdlc-rename): MCP-серверы sdlc-jira и sdlc-wiki, модуль в sdlc-hub mcp обязателен
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 11:45:40 +04:00
Andrey Epifancev
a88bb1e6e8 refactor(sdlc-rename): пакет sdlc_hub, CLI sdlc-hub, каталог данных sdlc-hub
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 11:27:17 +04:00
Andrey Epifancev
c8af45ced8 Вики: безопасность и чистка (M-4, M-5, M-6, M-8, M-9, M-10, M-14, M-15 хаб)
- root_set кодирует метку; parse_root вынесен в wiki/roots.py; PATCH wiki_root "" -> 422
- суррогаты в пачке страниц заменяются; dir_name экранирует ведущую точку; error у вложений
- beautifulsoup4 и markdownify<2 объявлены; убраны неиспользуемые импорты и дубль _has_table

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 04:01:54 +04:00
Andrey Epifancev
c9688c036b Поля проекта от модулей, доски — в модуль jira (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:24:33 +04:00
Andrey Epifancev
43c43ade81 Миграция v7: токены и статус по агентам модулей (#91)
tokens -> {client, agents: {модуль: токен}}, agent_status по агентам
(ключ agent, last_call_at), настройки агента и маршруты agent-scope по
модулю токена, min_agent_version переехал в модуль jira.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 00:45:44 +04:00
Andrey Epifancev
6d1e595875 refactor: MCP и CLI по модулям; jira-hub mcp [модуль] (#87)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:51:11 +04:00
Andrey Epifancev
6d7aebe01c refactor: пакеты core и modules.jira — перенос без логики (#87)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 21:50:23 +04:00
Andrey Epifancev
62057606c0 Правки финального ревью: ссылки на вложения, размер, 413 в пакетах, имя копии, документация (#83)
I-1 I-2 M-1 M-2 M-3 M-5 M-6 M-7 T3.4 T4.3

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 15:14:40 +04:00
Andrey Epifancev
3ad63886a7 MCP: вложения в issue и comment, инструмент attachment (#83)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:43:59 +04:00
Andrey Epifancev
352d8bba5e feat(mcp): инструмент comment — комментарий задачи целиком (#80)
issue показывает у каждого из 5 последних комментариев номер «#<comment_id>»
(текст по-прежнему до 300 символов); comment(key, comment_id) отдаёт один
комментарий целиком — автор, создан/изменён, полный текст с переносами строк.
Данные — из GET /issues/{key}, новый маршрут API не нужен. Спека mcp и README.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:18:59 +04:00
Andrey Epifancev
c6a5ef15b3 Лента: крайние даты не роняют хаб, время без смещения — 422 в API и местное в MCP (#70, M-1, M-2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 10:50:26 +04:00
Andrey Epifancev
a27ebc9586 MCP: лента изменений, история в issue, журнал в sync_log (#70)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 10:23:39 +04:00
Andrey Epifancev
1b441b79a5 Чистка находок ревью задач: типы досок в любом статусе, мелкие правки тестов и веб-приложения (#61)
R-3/T6.1 типы досок из результата refresh пишутся в любом статусе отчёта; T5.1, T3.1 (author), T3.2, T2.1, T2.2, T7.2,
T8.1, T8.2 (ошибка фонового рефетча проектов не сносит страницу), T8.4 (окно «Новый проект» не закрывается во время
создания). Решения 22, 27 переписаны, добавлено 36 в design.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 21:41:22 +04:00
Andrey Epifancev
c8741be309 MCP: привязка сессии к проекту (--project), инструменты projects и project_create (#61)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 21:09:19 +04:00
Andrey Epifancev
203c7e7b3c Хаб: базовая JQL из проектов, настройки без base_jql/board_id, init заводит AWPCA (#61)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 20:25:04 +04:00
Andrey Epifancev
4e397b563d feat(mcp): batch_create принимает path у ensure_attachment и сам загружает файл (#43)
Все файлы пакета читаются до загрузки: «файл не найден: <path>», «у ensure_attachment либо path, либо file», больше 10 МБ — до POST /files; filename по умолчанию — имя файла; описание batch_create говорит про path (решение 19). design.md: решение 20 (R-2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 01:51:44 +04:00
Andrey Epifancev
1a66aea2de feat(mcp): параметры команд в описании batch_create и в ошибках 422 (#44)
Описание MCP-инструмента batch_create собирается из SPEC (commands.describe):
обязательные и необязательные параметры каждого типа с подсказками формата
(hints) и условием на набор (note). Ошибки validate «нет …» и «лишние
параметры …» называют ожидаемый набор параметров типа.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 23:13:14 +04:00
Andrey Epifancev
a03550f079 feat(hub): проверка комментариев в POST /agent/state (422 bad_state), комментарии в MCP issue (#37)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:04:55 +04:00
Andrey Epifancev
8a319ea595 fix(agent): agent_reported — до первого claim запускатель неизвестен, подсказки «без run.py» нет (M-2 #25) (#32)
GET /agent отдаёт agent_reported; release.hint(reported=); MCP agent_status: «запускатель: неизвестно (агент ещё не выходил на связь после перезапуска хаба)» (решения 7–8, R-1).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 10:36:19 +04:00
Andrey Epifancev
7c922382e6 feat(hub): agent_status — публикация и самообновление агента; README, ARCHITECTURE (#22)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:13:21 +04:00
Andrey Epifancev
bd8c769e75 feat(queue,mcp): отмена пакета сообщает о команде у агента; подсказка про labels (#13)
cancel_batch возвращает still_claimed — команды пакета в статусе claimed,
которые отмена не останавливает. MCP batch_cancel выводит строку на каждую
такую команду с подсказкой про POST /commands/N/cancel с force. Описание
batch_create предупреждает, что ensure_issue нужны labels с базовой меткой
AWPCA, иначе задача выпадет из базовой JQL и из зеркала.

M-11 (hub#12), T3.7 (agent#4).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:51:51 +04:00
Andrey Epifancev
958dbe956f feat(queue): довыдача команды без отчёта, предел 3 выдачи; R-13 и «свежая claimed» удалены (#9)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 22:44:16 +04:00
Andrey Epifancev
1bc6ebe534 fix(mcp): batch_wait и refresh асинхронные, refresh по умолчанию без ожидания (R-12, I-3)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:11:18 +04:00
Andrey Epifancev
f3ac1eb5c2 test(hub): MCP — опрос и потолок batch_wait, точные ассерты refresh/sync_log
_client() в batch_wait создаётся один раз перед циклом.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 22:35:41 +04:00
Andrey Epifancev
cc0026bb1c feat(hub): MCP-сервер — инструменты поверх HTTP API
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 22:32:23 +04:00