138 Commits

Author SHA1 Message Date
Andrey Epifancev
8bab76e043 Схема v8: без статуса по факту и его настроек (#104)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 16:59:05 +04:00
Andrey Epifancev
5b01b91710 Модуль jira: заметки, API, MCP и импорт без статуса по факту (#104)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 16:47:12 +04:00
Andrey Epifancev
25973ff971 feat(web-modules): API — свежесть Jira в проекте, модуль пакета, пакеты нового проекта по модулям
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 15:38:46 +04:00
Andrey Epifancev
eb86563e2a fix(sdlc-rename): cutover сверяет HEAD с новым репозиторием — Gitea не перенаправляет SSH
После переименования в Gitea старый адрес по SSH отвечает «Cannot find
repository» (T6.2 подтвердилось): preflight сверяет main по адресу
aep/sdlc-hub, derive_remote принимает уже сменённый origin; README —
сменить origin сразу после переименования.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 14:09:56 +04:00
Andrey Epifancev
102bee83fe fix(sdlc-rename): cutover: потребители автообнаружением, origin по протоколу, предупреждения о сессиях, plist в .pre-sdlc
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 12:41:25 +04:00
Andrey Epifancev
1394f39763 fix(sdlc-rename): cutover: ожидание порта после bootout, честное состояние шага 2
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 12:13:24 +04:00
Andrey Epifancev
40cb66158f fix(sdlc-rename): cutover: откат при сбое, проверка инструментов, порядок add/remove
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 12:09:16 +04:00
Andrey Epifancev
7ac525699a feat(sdlc-rename): скрипт переключения живой установки scripts/cutover.sh
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 12:03:50 +04:00
Andrey Epifancev
d643007c0b feat(sdlc-rename): отказ CLI при каталоге данных под прежним именем
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 11:52:08 +04:00
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
ccb1606056 Вики: убрать колонку управления строками таблиц редактора Eva из копии (#95)
Редактор Eva (TinyMCE) сохраняет в HTML страницы блок table-row-controls (номер
строки, «+», точка); markdownify превращал его в абзацы «№», «1», «2»… перед
таблицей. Блок удаляется целиком до конвертации; карточки вложений с тем же
классом mceNonEditable остаются.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 11:01:31 +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
82bbf0f5cd release: предупреждение по пути, имя модуля по умолчанию в mcp, миграция раскладки в agent publish (M-1, M-2, M-3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:58:14 +04:00
Andrey Epifancev
90d1af57f1 Сквозной тест совместимости с jira-agent v14 по HTTP (I-3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:56:13 +04:00
Andrey Epifancev
4600634a61 Агент не читает и не закрывает команды чужого модуля (I-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:55:43 +04:00
Andrey Epifancev
a5deee50fc Документация: release/<модуль>/, уточнения теста границы и потока вики (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:39:39 +04:00
Andrey Epifancev
ede028346b Документация: модуль wiki и агенты модулей (#91)
Тест границы test_core_has_no_module_terms; ARCHITECTURE/CLAUDE/README; дельта-спека о хуках before_result/abort_result.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:37:17 +04:00
Andrey Epifancev
2a5a33f9c6 wiki: MCP-сервер jira-hub-wiki (#91)
fmt_agent, safe_name и store_copy вынесены в core/mcp.py; сервер jira их переэкспортирует, тексты вывода не менялись.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:49:23 +04:00
Andrey Epifancev
a95230dc33 wiki: маршруты и вложения по запросу (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:40:33 +04:00
Andrey Epifancev
b074b51ec0 wiki: синхронизация — правки ревью Task 7 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:30:58 +04:00
Andrey Epifancev
bc69d5087a wiki: синхронизация — пачки страниц, копия, поиск (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:22:15 +04:00
Andrey Epifancev
97e59c1cc6 wiki: перевод HTML Eva — правки ревью 2 Task 6 (#91)
Двойное экранирование текста ссылки на страницу убрано; «@» больше не
экранируется. Ссылку на вложение выдаёт только конвертер (внутренний маркер),
авторское «attachment:@» в тексте, атрибутах, коде и именах нейтрализуется,
схема attachment: у ссылок и картинок автора не выводится.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:10:56 +04:00
Andrey Epifancev
d8ebdf57b1 wiki: перевод HTML Eva — правки ревью Task 6 (#91)
Схемы javascript:/data:/vbscript: в ссылках не выводятся; имя вложения и текст
ссылки экранируются (скобки, @, переводы строк); fill_ids меняет только
](attachment:@N) и поднимает ValueError вне диапазона; «<» в тексте — &lt;;
attachments/links = None трактуются как пустые списки.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:05:02 +04:00
Andrey Epifancev
c80423d5cd wiki: перевод HTML Eva в Markdown (#91)
convert.to_markdown: вложения по ref (картинка и миниатюра+файл — одна ссылка),
ссылки на страницы DOC-… → page:<код>, static/ удаляются, сырого HTML нет.
convert.fill_ids подставляет id вложений вместо attachment:@<n>.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:59:55 +04:00
Andrey Epifancev
4ea287fbdf Модуль wiki: корень проекта, команды, фоновая синхронизация (#91)
Каркас модуля wiki: схема (wiki_project, wiki_page, wiki_attachment, wiki_sync_stage), настройки,
поле проекта wiki_root с хуками создания и правки, команды wiki_sync и wiki_fetch,
фоновая синхронизация. Зависимость markdownify>=1.2.3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:53:31 +04:00
Andrey Epifancev
9534e1385a Task 3: author в PATCH, ответ POST по спеке, проверка editable-полей (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:33:03 +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
7ab031a064 Релиз: повторяемая миграция раскладки, права 0700 на release/ (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:08:10 +04:00
Andrey Epifancev
3f4c9183b8 Очередь, релиз и статус по агенту модуля (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 00:59:49 +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
2673bac5d8 docs: ядро и модули хаба; тест границы ядра (#87)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 23:20:06 +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
751ae885db test: тик убирает downloads/ раз в сутки (#87)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:41:27 +04:00
Andrey Epifancev
0bafff9bc4 refactor: HTTP — сервер ядра, маршруты модуля jira (#87)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:32:51 +04:00
Andrey Epifancev
bc4e8a288f test: оценка пакета на реальном модуле jira вместо commands.estimate (#87)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:23:00 +04:00
Andrey Epifancev
c9ac2d5238 refactor: очередь ядра и обработчики команд модуля jira (#87)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 22:15:42 +04:00
Andrey Epifancev
01daaa8638 refactor: контракт модуля, реестр, схема и настройки по модулям (#87)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-23 22:01:06 +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
808d7b710c test: эталоны внешнего поведения перед перестройкой (#87)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 21:39:25 +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
5fdcc50451 API: MIME вложения только ASCII, иначе octet-stream (#83)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:39:59 +04:00
Andrey Epifancev
722393daf9 API вложений: файл от агента, скачивание, уборка копий (#83)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:34:10 +04:00
Andrey Epifancev
90749012f0 Команда fetch_attachment: постановка, выдача, приём результата (#83)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:25:58 +04:00
Andrey Epifancev
b5adfdf9b5 Вложения в карточке задачи: ссылки из текста и состояние (#83)
Модуль attachments (fmt_size, ref_names, resolve, state, get); mirror.get_issue
отдаёт attachments, description_attachment_ids, attachment_ids комментариев
и скрывает fetch_attachment из commands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:18:59 +04:00
Andrey Epifancev
4f78c27984 Схема v6: список вложений задач в зеркале (#83)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:10:35 +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