sqlite-utils 4.0rc2: Claude Fable 작성, $149.25, 데이터 손실 버그 수정

✍️ OpenClawRadar📅 게시일: July 5, 2026🔗 Source
sqlite-utils 4.0rc2: Claude Fable 작성, $149.25, 데이터 손실 버그 수정
Ad

Simon Willison이 SQLite용 Python 라이브러리인 sqlite-utils 4.0rc2를 출시했습니다. 이 라이브러리는 대부분 Claude Fable이 작성했습니다. 총 비용은 37개의 프롬프트와 34개의 커밋을 통해 약 $149.25의 API 비용이 들었으며, 30개 파일에서 +1,321 -190줄이 변경되었습니다.

변경 사항

이 릴리스 후보는 Table.delete_where()의 심각한 데이터 손실 버그를 수정합니다. 이전에는 커밋이 전혀 이루어지지 않아 연결이 트랜잭션 상태로 남아 이후의 모든 쓰기를 오염시켰습니다. 다음은 Fable의 분석에서 가져온 재현 코드입니다:

db = sqlite_utils.Database("dw.db")
db["t"].insert_all([{"id": i} for i in range(3)], pk="id")
db["t"].delete_where("id = ?", [0])
# conn.in_transaction is now True
db["t"].insert({"id": 50})
db["u"].insert({"a": 1})
db.close()
# Reopen: rows are [0, 1, 2] — the delete, row 50, AND table u are all gone.

Willison은 이를 "정말 나쁜 버그"라고 부르며, 안정적인 4.0 출시 전에 Fable이 발견한 것을 기쁘게 생각한다고 말했습니다.

Ad

새로운 트랜잭션 모델

모든 쓰기 메서드(insert(), upsert(), update(), delete(), delete_where(), transform(), create_table(), enable_fts() 등)는 이제 자체 트랜잭션 내에서 실행되고 반환되기 전에 커밋됩니다. 수동 commit()이 필요 없습니다.

두 가지 예외:

  • db.atomic()을 사용하여 여러 작업을 원자적으로 그룹화
  • db.begin()으로 트랜잭션을 열면 라이브러리가 절대 커밋하지 않음 — 사용자가 커밋을 제어

Python 3.12+ 자동 커밋 지원

Fable은 Python 3.12의 새로운 sqlite3.connect(..., autocommit=True|False) 모드와의 호환성도 보장했습니다. 라이브러리의 자동 메서드별 트랜잭션은 기본 연결 모드에 맞게 설계되었으며, Fable은 새로운 자동 커밋 설정에서 테스트 스위트가 통과하도록 패치했습니다.

검토 과정

Willison은 iPhone에서 Claude Code for web을 통해 작업을 시작한 후, GitHub PR을 통해 최종 검토를 위해 노트북으로 전환했습니다. 문서 편집을 먼저 검토하는 것이 변경 사항을 이해하는 훌륭한 방법이라고 말합니다. GPT-5.5의 최종 검토에서 추가적인 엣지 케이스가 발견되었으며 — 전체 PR 기록이 공유되었습니다.

대상 사용자

가벼운 데이터베이스 작업을 위해 sqlite-utils를 사용하며 적절한 트랜잭션 안전성을 갖춘 프로덕션 준비 4.0 릴리스를 원하는 Python 개발자.

📖 전체 출처 읽기: HN AI Agents

Ad

👀 See Also

플렝: AI 기반 인프라 관리 기능을 갖춘 셀프 호스팅 클라우드 플랫폼
Tools

플렝: AI 기반 인프라 관리 기능을 갖춘 셀프 호스팅 클라우드 플랫폼

Pleng은 AGPL-3.0 라이선스로 제공되는 셀프 호스팅 클라우드 플랫폼으로, AI 에이전트(현재 Claude)를 사용하여 텔레그램 봇 명령어를 통해 인프라를 관리합니다. GitHub 저장소나 로컬 디렉토리에서 자동화된 Traefik 라우팅, Let's Encrypt SSL, 기본 분석 기능을 갖춘 상태로 배포합니다.

OpenClawRadar
DAUB MCP 서버는 Claude가 JSON 사양을 통해 UI를 생성하고 렌더링할 수 있게 합니다
Tools

DAUB MCP 서버는 Claude가 JSON 사양을 통해 UI를 생성하고 렌더링할 수 있게 합니다

DAUB는 Claude가 자연어 프롬프트에서 직접 UI 인터페이스를 생성할 수 있도록 하는 MCP 서버로, 코드 생성이나 컴파일 없이 라이브 인터페이스로 렌더링되는 구조화된 JSON 사양을 생성합니다. generate_ui, render_spec, validate_spec, get_component_catalog 등 네 가지 도구를 제공합니다.

OpenClawRadar
마우스: AI 코딩 에이전트를 위한 좌표 기반 편집 단계별 변경 및 원자적 롤백
Tools

마우스: AI 코딩 에이전트를 위한 좌표 기반 편집 단계별 변경 및 원자적 롤백

Mouse는 문자열 교체 편집 대신 6가지 좌표 기반 작업(INSERT, DELETE, ADJUST)과 단계별 변경 및 원자적 롤백을 통해 AI 에이전트에게 정밀한 파일 편집 기능을 제공합니다.

OpenClawRadar
Rails는 AI를 위해 설계되었다: 규칙, 토큰 효율성, 그리고 벤치마크 결과
Tools

Rails는 AI를 위해 설계되었다: 규칙, 토큰 효율성, 그리고 벤치마크 결과

Rails의 컨벤션은 AI 에이전트에게 지도를 제공하여 토큰 사용을 줄이고 정확도를 높입니다. 벤치마크에서 OPUS-5가 92.1%의 정확도와 실행당 47k 토큰을 기록했습니다.

OpenClawRadar