가이드

Lineage

Lineage는 완료된 Generation의 아카이브입니다. 라이프사이클을 완료한 모든 Generation이 전체 산출물과 DAG 메타데이터와 함께 보존됩니다.

구조

완료된 각 Generation은 산출물과 메타데이터가 포함된 디렉토리를 생성합니다:

text
.reap/lineage/
├── gen-042-a3f8c2-fix-login-bug/   # 전체 Generation (디렉토리)
│   ├── meta.yml                      # DAG 메타데이터 (id, parents, genomeHash)
│   ├── 01-learning.md
│   ├── 02-planning.md
│   ├── 03-implementation.md
│   ├── 04-validation.md
│   └── 05-completion.md
├── gen-030-b7e1f2.md                 # Level 1 압축 (단일 파일)
└── epoch.md                          # Level 2 압축 (해시 체인)

DAG (Directed Acyclic Graph)

각 Generation이 meta.yml에 부모를 기록하여 DAG를 형성합니다. 이를 통해 여러 머신이 독립적으로 작업하고 나중에 merge하는 분산 워크플로우가 가능합니다.

압축

lineage 크기를 관리하기 위해 Completion 단계에서 압축이 실행됩니다.

레벨입력출력트리거보호
Level 1Generation 폴더gen-XXX-{hash}.md (40줄)> 5,000줄 + 5개 이상 Generation최근 3개 + DAG 리프 노드
Level 2100+ Level 1 파일단일 epoch.mdLevel 1 파일 > 100최근 9개 + 포크 포인트

DAG 보존: Level 1은 frontmatter에 메타데이터를 유지합니다. Level 2 epoch.md는 generation 해시 체인을 저장합니다. 포크 가드: 모든 로컬/원격 브랜치가 스캔됩니다 — 포크 포인트가 보호됩니다. Epoch 압축된 Generation은 merge base로 사용할 수 없습니다.