指南

Lineage

Lineage 是已完成代的归档。每个完成生命周期的代都会连同完整的产物和 DAG 元数据一起保存在这里。

结构

每个已完成的代创建一个包含产物和元数据的目录:

text
.reap/lineage/
├── gen-042-a3f8c2-fix-login-bug/   # 完整代(目录)
│   ├── 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(有向无环图)

每一代在 meta.yml 中记录其父代,形成 DAG。这使得分布式工作流成为可能,多台机器可以独立工作后再合并。

压缩

压缩在 Completion 阶段运行,用于管理 lineage 大小。

级别输入输出触发条件保护
Level 1代文件夹gen-XXX-{hash}.md(40 行)> 5,000 行 + 5 代以上最近 3 个 + DAG 叶节点
Level 2100+ Level 1 文件单个 epoch.mdLevel 1 文件 > 100最近 9 个 + 分叉点

DAG 保留:Level 1 在 frontmatter 中保留元数据。Level 2 epoch.md 存储代哈希链。分叉保护:在 Level 2 压缩前扫描所有本地/远程分支——分叉点受保护。经过 epoch 压缩的代不能用作合并基础。