Ouroboros
03

3. 구성요소

Ouroboros는 명령 입구, 관리 엔진, 작업 기준, 실행 계층, 기록 저장소, 평가기로 나뉩니다.

Ouroboros 0.50.4upstream 456a1342026-07-16 문서·코드 확인
사용자가 ooo 명령으로 Core에 접근하고, Core가 Seed를 만들어 runtime에 전달하며, EventStore와 Ledger에 기록이 쌓이는 구조 도해
사용자 → ooo 명령 → Core → runtime 순서로 작업이 흐르고, 기록은 EventStore와 Ledger에 남습니다.

3.1 구성요소별 역할

구성요소역할
사용자아이디어를 입력하고, 질문에 답하고, Seed와 결과를 승인합니다.
ooo 명령Claude Code 세션 안에서 Ouroboros 기능을 부르는 입구입니다. ooo interview, ooo run처럼 사용합니다.
CoreInterview 진행, Seed 생성, 실행 순서 관리, 평가 호출을 담당하는 엔진입니다. MCP(runtime과 도구를 잇는 통신 규약) 서버로 runtime과 통신합니다.
Seed목표, 제약, 완료 기준, 데이터 구조를 담은 YAML 작업 기준입니다. 실행 중에는 바뀌지 않습니다.
runtime실제 파일과 코드를 다루는 AI 코딩 도구입니다. Claude Code가 기본이고 Codex CLI, OpenCode 등도 지원합니다.
EventStore모든 실행 이벤트를 저장하는 로컬 SQLite 데이터베이스입니다. 중단된 세션 복구에 사용합니다.
LedgerInterview와 Seed 작성 과정에서 확인한 가정과 제외 범위를 저장한 기록입니다.
Evaluator실행 결과를 3단계로 검증합니다. 테스트 실행, 완료 기준 대조, 필요 시 여러 모델 교차 확인 순서입니다.

3.2 데이터 흐름

  1. 사용자가 ooo 명령으로 아이디어를 입력합니다.
  2. Core가 Interview로 빠진 결정을 질문하고, 답을 모아 Seed를 만듭니다.
  3. Core가 Seed를 runtime에 전달하고, runtime이 코드를 작성합니다.
  4. Evaluator가 결과를 Seed의 완료 기준과 대조합니다.
  5. 모든 단계의 이벤트가 EventStore에, 결정 근거가 Ledger에 저장됩니다.

Core와 runtime이 분리되어 있어, 같은 Seed를 다른 runtime에서도 사용할 수 있습니다.

3.3 저장 위치

Ouroboros의 데이터는 홈 폴더의 ~/.ouroboros/에 저장됩니다.

파일·폴더내용
config.yamlruntime 선택 등 주 설정
seeds/생성된 Seed YAML 파일
ouroboros.dbEventStore(SQLite)
logs/ouroboros.log로그
data/, worktrees/auto 세션 상태와 격리 작업 폴더

프로젝트 폴더에는 선택에 따라 CLAUDE.md 명령 요약과 .ouroboros/ 설정이 생길 수 있습니다.