Редактор Eva (TinyMCE) сохраняет в HTML страницы блок table-row-controls (номер
строки, «+», точка); markdownify превращал его в абзацы «№», «1», «2»… перед
таблицей. Блок удаляется целиком до конвертации; карточки вложений с тем же
классом mceNonEditable остаются.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fmt_agent, safe_name и store_copy вынесены в core/mcp.py; сервер jira их переэкспортирует, тексты вывода не менялись.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
convert.to_markdown: вложения по ref (картинка и миниатюра+файл — одна ссылка),
ссылки на страницы DOC-… → page:<код>, static/ удаляются, сырого HTML нет.
convert.fill_ids подставляет id вложений вместо attachment:@<n>.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Каркас модуля 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>
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>
Модуль settings: значения по умолчанию, версия настроек, защищённые ключи,
перенос проектных настроек из config.example.json (учётные данные остаются у агента).
Фикстура tests/fixtures/config.example.json — копия admin/jira-sync/config.example.json.
.pytest_cache/ добавлен в .gitignore.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o