Sqlite-utils 4.0: Саймон Уиллисон подготовил релиз с помощью Claude Fable
Саймон Уиллисон, автор популярной библиотеки sqlite-utils, рассказал о подготовке стабильного релиза версии 4.0 с помощью модели Claude Fable. Ранее он уже писал о кандидате в релиз 4.0rc1.
По словам Уиллисона, доступ к Claude Fable в рамках подписки Max оставался лишь на несколько дней, и он решил использовать это время, чтобы довести библиотеку до стабильной версии, в которой был бы полностью уверен. Уиллисон придерживается семантического версионирования и стремится как можно реже выпускать несовместимые мажорные версии.
Работа началась с запроса в Claude Code для веба, отправленного с iPhone: финальная проверка перед выпуском стабильной версии 4.0 с акцентом на поиск изменений, которые в будущем окажутся breaking changes, если их исправлять позже.
В ответ модель составила отчёт, в котором обнаружила пять проблем, классифицированных как блокеры релиза. Одной из самых серьёзных оказалась ошибка в методе Table.delete_where(). В отличие от корректно реализованного Table.delete(), этот метод выполняет DELETE-запрос через self.db.execute() без обёртки atomic(). В результате соединение остаётся в состоянии in_transaction=True, из-за чего все последующие вызовы atomic() идут по ветке savepoint и также не фиксируют изменения.
Уиллисон привёл сквозной пример воспроизведения проблемы: после вызова delete_where() последующие операции вставки данных в таблицы не сохраняются, а при повторном открытии базы данных теряются не только удалённые строки, но и данные, добавленные позже, включая целую отдельную таблицу.
По словам автора, стоимость привлечения Claude Fable к работе над релизом составила около 149,25 доллара.
Источник: Simon Willison
Комментарии
Войдите, чтобы комментировать.