2861faa6e5
Решения «можно ли жать» и «сработало ли» жили внутри браузерной части, а её тестом не поймать. Значит главный предохранитель работы — «кнопок Завершить в ряду ровно одна» — не охранялся ничем, хотя без него у двух клиентов сразу робот завершил бы ЧУЖУЮ рекламу за чужие деньги. Теперь решения принимают чистые функции, и каждый случай проверен красным сторожем: ряд не найден, рядов не один, кнопок не одна (с числом в причине), итог не подтверждён (с сырым текстом строки в причине). В браузерной части осталось «спросил — бросил». Поведение не менялось, только место принятия решения. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>