0.163.3

Fixed

  • web_fetch: panic «strings: negative Repeat count» при осиротевшем <li>. WebFetchTool падал с паникой при рендере HTML, содержащего <li> вне <ul>/<ol>. HTML-парсер golang.org/x/net/html «восстанавливает» невалидный HTML и оставляет осиротевшие <li> в дереве; в renderMarkdownElement это приводило к strings.Repeat(" ", listDepth-1) с listDepth==0-1 → паника strings: negative Repeat count. Ход агента рвался (recover в actor.go), при ретраях web_fetch паника повторялась — на реальном пользовательском URL workspace.ru/blog/... зафиксировано 2 паники подряд.
  • Фикс (internal/agent/tools/web_fetch.go) — listDepth ограничивается снизу единицей (if depth < 1 { depth = 1 }); осиротевший <li> рендерится как одноуровневый пункт без отступа.
  • ТестыTestRenderHTML_MarkdownOrphanListItem (HTML с <li> вне списка → нет паники, корректный - text); TestRenderHTML_MarkdownNestedListClampsDepth (глубокая вложенность/мэшап). Ранее orphan-тест падал бы с паникой.
  • go test ./internal/agent/tools/... OK, golangci-lint 0 issues, ocr review 0 комментариев.