13 Commits

Author SHA1 Message Date
Andrey Epifancev
c9fd3d6290 Ошибки Eva и 413 хаба в тексте отказа, защита list_docs (M-1, M-3, M-4, M-7, #1)
- 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>
2026-10-24 05:51:45 +04:00
Andrey Epifancev
4a410d4b08 wiki_fetch: кодирование адреса и отдельное исключение ForeignHost (I-2, T5.2, #1)
Адрес вложения из HTML бывает с пробелами и кириллицей: путь и запрос теперь кодируются перед запросом, готовые %XX
не кодируются повторно, одиночный % становится %25. Отказ по хосту — ForeignHost («чужой хост» или «некорректный
адрес»), а не голый ValueError: UnicodeEncodeError и прочие ValueError больше не маскируются под «чужой хост».
Добавлены тесты на похожий хост, userinfo, другой порт и схему.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 05:48:14 +04:00
Andrey Epifancev
a51c509a87 classify_links не падает на битом HTML и адресах (I-1, #1)
На Python 3.9 `<![foo]>` вызывал NotImplementedError из ParserBase.error(), а адрес вида `http://[::1` — ValueError в
urljoin/urlsplit; одна такая конструкция роняла wiki_sync целиком. Теперь нестандартная секция пропускается до `>`,
битая ссылка — пропускается, остальные ссылки страницы сохраняются.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 05:46:28 +04:00
Andrey Epifancev
acdd52742e check, README, сквозной прогон с хабом (#1)
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>
2026-10-24 05:32:32 +04:00
Andrey Epifancev
3597495a6a Команда wiki_fetch (#1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 05:17:49 +04:00
Andrey Epifancev
50878d5965 wiki_sync: разрешение ссылок parent/tree_parent через карту id -> код (T4.1, #1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 05:08:10 +04:00
Andrey Epifancev
9793fdd40b Команда wiki_sync (#1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 05:03:20 +04:00
Andrey Epifancev
243b4b8f8d Разбор ссылок страниц Eva (#1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 04:56:10 +04:00
Andrey Epifancev
7bc59f3f32 Клиент Eva JSON-RPC (#1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 04:49:50 +04:00
Andrey Epifancev
67f1a5a096 Каркас eva-agent: общие части jira-agent v14 (#1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 04:40:33 +04:00
Andrey Epifancev
4749c862f7 Решения 12–13: ref после unescape, приоритет кода хаба
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 04:31:45 +04:00
Andrey Epifancev
487391eddc docs: change eva-agent-mvp и план (#1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 04:30:41 +04:00
Andrey Epifancev
f9442624ce chore: claude harness bootstrap 2026-10-24 04:27:22 +04:00