6d97a9691a
Три вещи в отчёт. Первое: раздел про голый шов я СТЁР сам, заменяя соседний кусок по границам «от заголовка до заголовка» — он лежал между ними и ушёл молча, вместе с коммитом. Восстановлен целиком. Поймал перечнем заголовков, а не памятью. Второе: моя ошибка в прогоне. Первый полный прогон круга 2 дал 44 ошибки «таблицы не существует». Причина не в коде и не в среде, а во мне: сборка тестовой базы идёт в начале КАЖДОГО прогона, поэтому второй прогон сносит таблицы под первым, а я запустил короткую проверку на своей же базе, пока на ней шёл мой полный прогон. Уронил сам себя ровно тем способом, от которого сам же предостерегал строкой выше в этом отчёте. Урок шире, чем «своя база на смену»: своя база на ПРОГОН. Третье: датчик снова врал. В сводке стояло «красных ноль», и по этому числу прогон читался зелёным, а настоящий счёт лежал в другом ключе и выход был два. Поймал сложением. Годная проверка прогона — не одно число и не код возврата, а сходится ли арифметика: всего равно зелёные плюс красные плюс ошибки плюс пропущенные. Чистый полный прогон: всего 5140, зелёных 5136, красных ноль, ошибок ноль, пропущено 4, утверждений 16188, выход ноль. Арифметика сходится. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>