F8: fixed — добавил TestPruneRolledBack в rollback_test.go (рядом с TestDecideUpdateSkip), по образцу TestPruneRetries. Сидит s.rolledBack тремя…
F17: fixed — обновил JSDoc метода requestStop: он описывал старый порядок (запись stop_requested_at раньше аборта, как гарантир…
Раунд 3: F8, F9, F10 отработаны.
F8: fixed — formatJSONLogs.ts:38 свернул const plain = withTimestamps ? rawText : text; → const plain = rawText;. Оба плеча…
Раунд 2: F15 и F16 отработаны.
F15: fixed — requestStop (ai-chat-run.service.ts) теперь абортит in-process контроллер ПЕРВЫМ, до записи в…
Раунд 2: F6 и F7 отработаны.
F6: fixed — удалил app/react/portainer/access-control/AccessManagement/AccessDatatable/columns/role.tsx. После того как PR…
Раунд 2: F7 отработан.
F7: fixed — logViewer.html — это общий шаблон (его встраивают и container, и service, и task логи), а на живой…
Раунд 3 отработан (F4 critical, F5, F6).
F4: fixed — переименование/перемещение + правка тела в одном диффе больше не…
Раунд отработан, F6–F10.
F6: fixed — embeddablePredicate теперь захватывает и страницы с непустым content, но text_content = NULL…
Раунд 1 отработан (эпик WIP, но пункты закрыты).
F1: fixed — warmPageYdoc теперь возвращает didSync, который ставится в…
Раунд 1 отработан, все семь пунктов.
F1: fixed — добавил защиту от бесконечного цикла update→rollback. После УСПЕШНОГО…