히스토리

  • [2026-02-27 Fri 09:50] openclaw/shared에서 botlog로 이관 (2파일 → 1파일 통합)
  • [2026-02-23 Mon 04:04] 생성 — beads-evolution-analysis.md
  • [2026-02-23 Mon 04:21] 추가 — beads-rust-gastown-otel-pi-crossover.md

beads 진화와 br/gastown/Pi 크로스오버 분석

Beads (bd) 리포 현황

⭐ 17,000+ Stars, 🍴 1,000+ Forks. 현재 v0.55.4 (알파). Go 1.24+.

Dolt 통합 타임라인 (2026-02)

버전날짜핵심 변화
v0.50.002-14Dolt가 기본 백엔드로 전환
v0.51.002-16대규모 레거시 제거 — SQLite, 데몬, JSONL, 3-way 머지, 톰스톤 삭제
v0.53.002-18Dolt-in-Git 네이티브 동기화 — git 리모트 통한 Dolt push/pull
v0.55.002-20zig 0.13→0.14, ~5K 죽은 코드 제거

핵심: 불과 1주일 만에 SQLite→Dolt 완전 이행. v0.51.0에서 ~11,000줄 레거시 제거.

아키텍처 3단계 진화

Phase 1: SQLite + JSONL (2025)

파일 기반 쓰기 → JSONL 동기화 파이프라인 → SQLite 저장. 데몬 필요, 3-way 머지 엔진 자체 구현.

Phase 2: Dolt 전환 (2026-02)

Dolt = “git for databases”. MySQL 와이어 프로토콜 호환, 브랜치/머지/diff. 동기화가 git push/pull로 단순화. 레거시 코드 대규모 제거.

Phase 3: GasTown 비전

“Kubernetes for coding agents”. 멀티에이전트 오케스트레이터. Dolt 기반 상태 관리 + OpenTelemetry 텔레메트리.

beads_rust (br) — Rust로 다시 만든 이유

Jeffrey Emanuel(Dicklesworthstone)이 Steve Yegge의 원본 beads를 Rust로 포팅 (“Dicklesworthstone/Beads_Rust” 2026). Agent Flywheel 시스템 전체를 beads의 SQLite + JSONL 아키텍처 중심으로 구축했으나, Steve가 Dolt/데몬/RPC 방향으로 나아가면서 아키텍처가 바뀜.

“Steve에게 레거시 모드 유지 부탁 대신, 내가 의존하는 ‘클래식 beads’를 동결한 Rust 포트를 직접 만들었다.” Steve 공식 승인.

비침습적(Non-Invasive) 설계

항목br의 동작
소스 코드 접촉절대 없음
git 명령 실행절대 없음 (sync 코드에 git 호출 자체 없음)
git hook 설치수동 (사용자가 직접)
자동 커밋없음
건드리는 디렉터리.beads/ 딱 하나
파일 쓰기임시파일 → atomic rename

bd vs br 비교

차원bd (Steve)br (Jeffrey)
언어GoRust
백엔드Dolt (v0.50+)SQLite (동결)
동기화Dolt-in-GitJSONL (수동 git add)
데몬필요없음
침습성git hook 자동비침습
철학풀스택 협업 인프라최소 로깅

Pi 프레임워크와의 교차점

Pi(Mario Zechner) (Ronacher 2026) 는 미니멀리스트 터미널 코딩 에이전트. Extensions로 모든 것을 직접 구성.

bd/br 모두 Pi와 궁합이 좋은 이유:

  • 파일 시스템 기반 상태 공유 (.beads/)
  • CLI 인터페이스 — Pi Extensions에서 호출 가능
  • 비침습 설계 — Pi의 “도구가 아닌 빌딩 블록” 철학과 일치

GasTown의 OpenTelemetry 텔레메트리는 Pi의 세션 분석과 보완적. bd의 Dolt 기반 멀티에이전트 상태 관리는 Pi의 Extensions 기반 오케스트레이션과 결합 가능.

관련 노트