sqlite-utils 4.0rc2: как Claude Fable написал стабильный релиз Python-библиотеки за $149

Simon Willison подготовил стабильный релиз sqlite-utils 4.0 с помощью Claude Fable, AI-модели Anthropic с высокой производительностью. Разработка длилась 30 файлов, 37 промптов и 34 коммита.
Стартовый обзор Fable выявил 5 критических ошибок перед релизом. Самая опасная: метод delete_where() никогда не коммитил данные и отравлял подключение, что приводило к потере данных при закрытии БД. На примере: delete_where удаляет запись, потом insert добавляет новую, но при перезагрузке БД всё откатывается, нет ни удаления, ни новых данных.
Основное улучшение в 4.0rc2, переработана модель транзакций. Теперь каждый метод записи (insert, update, delete, delete_where и др.) автоматически коммитится после выполнения, если уже нет открытой транзакции. Пользователю больше не требуется вызывать commit() вручную. Для группировки операций используется db.atomic().
Метод db.query() теперь выполняет SQL немедленно при вызове, а не ждёт первой итерации. Это позволяет сразу ловить синтаксические ошибки и коммитить INSERT ... RETURNING без необходимости итерирования.
Дополнительную проверку выполнила GPT-5.5: выявила два проблемных случая с побочными эффектами, db.query("update ...") коммитит обновление, даже если потом выбросит ошибку, а INSERT ... RETURNING коммитится только после полного прохода итератора, оставляя открытую транзакцию на next() вызовах. Fable исправил оба.
Общая стоимость (по estimate через agentsview): $149.25 unsubsidized. Основной сеанс, $141.02 (claude-fable-5), несколько специализированных агентов, по $1-2.40 каждый, один сеанс claude-opus-4-8, $0.32.
Ключевые факты
- Критическая ошибка: delete_where() не коммитила, отравляя подключение и стирая все последующие записи при закрытии БД
- Главное улучшение: новая модель транзакций, каждый метод записи автоматически коммитится, если нет открытой транзакции
- db.query() переписана: теперь выполняется сразу, а не при первой итерации, ловит ошибки в месте вызова
- Разработка заняла 37 промптов и 34 коммита; дополнительная проверка GPT-5.5 выявила два баг-сценария с побочными эффектами
- Unsubsidized cost: $149.25 (сам Willison на плане Claude Max $200/month, поэтому факт ниже)
Почему это важно
sqlite-utils, популярная Python-библиотека для работы с SQLite. Для major-версии (4.0) требуется особая осторожность: несовместимые изменения нельзя исправить в патчах, придётся выпускать 5.0. Willison стремится минимизировать breaking changes. Полуавтоматический обзор AI помогает выловить edge case'ы, которые разработчик мог упустить за месяцы разработки. В данном случае это спасло юзеров от потери данных в production.
Кому это важно
Разработчикам на Python, особенно работающим с SQLite (веб-приложения, data pipeline'ы, инструменты обработки данных). Team-лидерам, интересующимся эффективностью AI-ассистентов в разработке. DevTools-авторам, пример использования агентов для рецензии собственного code.
Как это применить
Для своего проекта: скопировать паттерн, спросить Fable (или другой сильный model) найти release-blocker'ы перед major-версией, затем попросить second opinion у другого модели (OpenAI, Google). Для team'а: вводить AI-ревью как gate перед deployment больших изменений. Для cost-контроля: использовать дешёвые модели для основной работы, expensive models только для финального контроля (как Willison использовал claude-opus для одной проверки).
Можно ли доверять
Факты проверяемы: статья ссылает на GitHub-PR и публичный блог Willison, который известен скрупулёзностью. Цифры ($149.25), из agentsview, официального инструмента Anthropic. Найденные баги реальны: delete_where() детально разобран с воспроизведением, остальные проверены экспериментально (Fable подтвердил оба баг-сценария от GPT-5.5). Хронология разумна: 37 промптов на 30 файлов = примерно 1 промпт на файл плюс review-промпты.
Риски и подводные камни
Не все разработчики захотят полагаться на AI для критической логики, требуется trust и проверка результатов (что Willison делал). Breaking changes в 4.0 не новы, но масштаб перестройки (транзакции) может поломать edge case'ы в legacy-коде юзеров. Cost: даже $149 может быть высоко для проектов с меньшим бюджетом (хотя это 30+ часов работы гиперсфокусированного разработчика). Risk: AI может отличный код написать, но юридическую ответственность в production'e несёт автор (Willison).