424 Commits

Author SHA1 Message Date
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
20edf9243a spec(sdlc-rename): R-4, R-5 в design.md
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 11:59:03 +04:00
Andrey Epifancev
3ade954713 fix(sdlc-rename): сбой переноса ключа хранилища не теряет значение
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 11:58:25 +04:00
Andrey Epifancev
ef9ec9f46d feat(sdlc-rename): бренд SDLC Hub и ключи хранилища sdlc-hub-* с переносом
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 11:56:58 +04:00
Andrey Epifancev
528c579aa8 spec(sdlc-rename): R-3 в design.md
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 11:55:11 +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
e34d61a483 spec(sdlc-rename): R-2 в design.md
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 11:33:18 +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
13ba7f4d60 spec(sdlc-rename): R-1 в design.md
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 11:23:19 +04:00
Andrey Epifancev
10d2eaa513 plan(sdlc-rename): план реализации переименования
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 11:21:09 +04:00
Andrey Epifancev
bfc1b3056b spec(sdlc-rename): переименование jira-hub → sdlc-hub
Change sdlc-rename: пакет, CLI, каталог данных, MCP sdlc-jira/sdlc-wiki,
бренд и ключи хранилища веба, скрипт переключения живого хаба (#97).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 11:17:47 +04:00
aep
bb54d0a2a4 Merge pull request 'Вики: колонка управления строками таблиц Eva не попадает в копию (#95)' (#96) from feat/95-wiki-table-controls into main 2026-10-24 10:02:42 +03: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
aep
47c9c51c7c Merge pull request 'Архив OpenSpec: wiki-module (#91)' (#93) from chore/91-archive-wiki-module into main 2026-10-24 09:05:40 +03:00
Andrey Epifancev
be85975af4 chore(openspec): архив wiki-module (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 10:05:32 +04:00
aep
3b88b8be2a Merge pull request 'Модуль wiki, агенты модулей, поля проектов (#91)' (#92) from feat/91-wiki into main 2026-10-24 09:05:07 +03:00
Andrey Epifancev
d71f208610 docs(openspec): wiki-module — решения финальной волны, R-8 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 04:15:25 +04:00
Andrey Epifancev
637307bffc Документация: порядок выкатки, откат, расхождения спеки и кода (I-2, M-11, M-13)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 04:02:50 +04:00
Andrey Epifancev
8a3ae3342e Веб: подхват refresh при пакете wiki_sync, ошибка вложения сразу (M-12, M-15)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 04:02: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
ac932c603d docs(openspec): wiki-module — порядок выкатки и откат (финальное ревью I-2, M-13) (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:55:34 +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
11f42a3108 docs(openspec): wiki-module — решения Task 10 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:29:25 +04:00
Andrey Epifancev
01c28c890a Веб: вики — предки выбранной страницы раскрываются, когда её узел появился (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:28:07 +04:00
Andrey Epifancev
a37ce0a59c Веб: вики — дерево не раскрывает предков при новом nodes (#91)
Эффект раскрытия предков зависит только от selected; тест с новым массивом nodes;
заглушки URL.createObjectURL в тесте загрузки через spyOn.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:23:12 +04:00
Andrey Epifancev
5a142f772c Веб: вики — правки по ревью Task 10 (#91)
Дерево не раскрывает предков повторно после ручного сворачивания, предел опроса вложения,
//host не ссылка, регистр схем page:/attachment:, тесты дерева, загрузки, плашки панели, 422/404.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:17:13 +04:00
Andrey Epifancev
48ca56c07f Веб: страница «Вики» (#91)
Модуль wiki: дерево страниц, страница с Markdown (react-markdown, remark-gfm, без сырого HTML),
поиск, форма привязки корня, ход синхронизации в боковой панели, скачивание вложений,
поле «Корень вики» в окне нового проекта. Сид копии вики и e2e.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 03:10:19 +04:00
Andrey Epifancev
c244b3a8c1 docs(openspec): wiki-module — решения Task 9 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:52:02 +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
c650b8fa08 docs(openspec): wiki-module — решения Task 8 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:43:17 +04:00
Andrey Epifancev
2ffb863dd1 docs(openspec): wiki-module — R-7, формат ответа поиска (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:41:02 +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
cd8f5505b0 docs(openspec): wiki-module — решения Task 7, R-6 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:33:10 +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
4faf7884ad docs(openspec): wiki-module — решения Task 6 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 02:12:31 +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
16a3b8c13d docs(openspec): wiki-module — решения Task 5, R-5 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:56:04 +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
2b9e4c0bf6 docs(openspec): wiki-module — решения Task 4 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:45:32 +04:00
Andrey Epifancev
867875daf6 Веб: поля проекта от модулей (#91)
Окно «Новый проект» собирает поля из MODULES[].projectFields; Project — ядро плюс поля модулей;
useUpdateProject (PATCH /projects/{label}); метка «долг hub-modules» снята; e2e читают токен агента из tokens.agents.jira.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:41:23 +04:00
Andrey Epifancev
b3055deebe docs(openspec): wiki-module — решения Task 3 (fix) (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:34:20 +04:00