eva-agent MVP: wiki_sync и wiki_fetch (#1) #2
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/1-mvp"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #1
MVP агента модуля
wikiхаба. Контракт с хабом — jira-hubopenspec/changes/wiki-module/(PR jira-hub#92), решения агента —openspec/changes/eva-agent-mvp/design.md(#1–#45).Что сделано
src/agent.py(Python 3.9, stdlib,AGENT_VERSION = 1):HubClient, журнал, цикл, самообновление, CLIrun [--once] | check | selftest | prune;EvaClient— JSON-RPC 2.2, повторы на 429 (Retry-After), 502/503/504 и сетевые сбои, паузаwiki_pacing, страницы списка по 200;classify_links— вложения/files/…(миниатюра.meta/thumbnail.jpg→ файл), ссылкиproject/Document/DOC-…, чужой хост иstatic/отбрасываются;wiki_sync— дерево поparent/tree_parentпроекта Eva (запасной путь —tree_parent.code), обход в глубину с защитой от циклов, пачки по 50 страниц / 4 МБ, отчёт{root_title, codes, eva_calls};wiki_fetch— только хост Eva, поток до 10 МБ,POST /agent/files.src/run.py— дословная копия запускателя jira-agent (проверяетtest_run_py_is_copy).jira-hub agent publish --module wiki.scripts/e2e-hub.sh— сквозной прогон с тестовым хабом из ветки jira-hub#92 (временныйJIRA_HUB_HOME, фейковая Eva).Проверка
/usr/bin/python3 -W error::ResourceWarning -m unittest discover -s tests -t .—Ran 238 tests … OK.bash scripts/e2e-hub.sh—e2e: ok. Хаб принял 5 страниц, Markdown содержитattachment:,wiki_fetchпрошёл, sha256 файла совпал.Проверить на первой живой синхронизации
Тестами этого не проверить:
/files/…и отдаёт ли файл без?version=1(решение 7);slice(M-4).Rulings I made
ref— значение атрибута после unescape: хаб (convert.py, bs4) ищет по тому же значению.Цена ошибки: адреса с
&не сопоставятся, правка одной строки.Цена ошибки: агент подгонится под ошибку хаба, видно в e2e.
.html-вложения.Цена ошибки: страница входа SSO может попасть во вложение.
Цена ошибки: нет.
EvaClient(cfg)(#20);title = code(#27);run --once(#34);ForeignHostи кодирование URL (#37).test_run_py_is_copyищется на 1���3 уровня выше (#18).Отложено (в follow-up при закрытии)
EvaClient.call;ConnectionError;<a>;HUB_SRCв e2e;Отклонение от процесса
mainрепозитория создан агентом из bootstrap-коммита обвязки (f944262) прямым push:adopt-project.shне умеет работать с пустым репозиторием и не создалmain.🤖 Generated with Claude Code