Repository(仓库)
Celebi 仓库是一个组织良好的目录,其中包含对象 —— 目录对象、算法对象与 任务对象。

每个对象必须包含
.celebi/config.json—— 机器读取的元数据。工作流 DAG 本身就由这里记录的predecessors与successors定义。celebi.yaml—— 人类读取的元数据(环境、参数、命令)。README.md—— 对象用途的文档。
目录(Directory) 则是包含子对象的对象。
没有绝对路径 —— 别名系统
为了让仓库可以在任何地方运行,仓库内不含任何绝对路径。为了让仓库可以自由
重组,任务通过别名(alias) 看到它的前驱:当依赖 “变了” 但并没有 “真正”
变化时 —— 比如任务改名或移动了位置 —— 下游任务看到的东西完全一样。
这正是 mv 式重组保持安全的原因。