- CLAUDE.md: `jira-hub agent publish --module wiki src/agent.py`, порог `wiki_min_agent_version`.
- README: `wiki_min_agent_version` вместо `min_agent_version`; `eva.base_url` — только origin; агент только для macOS
(fcntl), пример launchd `ru.aepif.eva-agent`; строка про проверку SSO на первой живой синхронизации (M-5).
- ARCHITECTURE: строки Eva и Executor по реализованному, строки ссылок (`_LinkParser`, `classify_links`) и дерева
(`build_children`, `walk`).
- design.md: решения 36–43, в том числе почему M-5 отложен до живой проверки.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- EvaError (Eva вернула `error`) — failed «Eva: <текст>» без повтора, а не «внутренняя ошибка агента».
- 413 хаба на пачку страниц — в ошибке названа страница («страница DOC-x больше 16 МБ») или границы пачки.
- list_docs останавливается, если Eva не соблюдает slice и ответ не приносит новых записей.
- Удалены неиспользуемые Executor.s и Executor.sleep; Executor(eva, hub).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Адрес вложения из HTML бывает с пробелами и кириллицей: путь и запрос теперь кодируются перед запросом, готовые %XX
не кодируются повторно, одиночный % становится %25. Отказ по хосту — ForeignHost («чужой хост» или «некорректный
адрес»), а не голый ValueError: UnicodeEncodeError и прочие ValueError больше не маскируются под «чужой хост».
Добавлены тесты на похожий хост, userinfo, другой порт и схему.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
На Python 3.9 `<![foo]>` вызывал NotImplementedError из ParserBase.error(), а адрес вида `http://[::1` — ValueError в
urljoin/urlsplit; одна такая конструкция роняла wiki_sync целиком. Теперь нестандартная секция пропускается до `>`,
битая ссылка — пропускается, остальные ссылки страницы сохраняются.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
cmd_check проверяет хаб и Eva (код 0 или 3), флаг run --once,
scripts/e2e-hub.sh поднимает тестовый хаб во временном JIRA_HUB_HOME.
Решения 33–35 в design.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>