execution registry.yaml:执行登记
执行登记是一次 Job 的事实记录,不是对象目录。入口阶段创建 /data/output/<job-id>/registry.yaml,随后只由执行车道写入。其 schema 版本为 1.0,文档来源固定为 BioLine 官方 AI 索引,不能启用 Skill fallback。
完整模板
下面是批准的 JSON-compatible YAML 模板;保持字段名和空值,不要把另一条车道的 authoring 对象塞入其中。
{
"schema_version": "1.0",
"knowledge": {
"source": "https://www.bioline.cloud/ai/commandLineAndFkit/",
"language": "ch",
"document_ids": [],
"retrieved_at": "",
"skill_fallback_allowed": false
},
"workflow": {
"lane": "execution",
"objective": "",
"phase": "initialize",
"status": "active"
},
"execution": {
"bioline": {
"input_path": "",
"project_id": "",
"flow": {"id": "", "version_id": "", "keyword": ""},
"job": {"id": "", "output_dir": ""}
},
"bindings": [],
"defaults_used": [],
"selected_artifacts": [],
"downstream": {
"tool": {"reference": "", "name": "", "version": 1, "summary_sha256": ""},
"pull_ledger": {"preexisting": false, "pre_image_id": null, "post_image_id": null, "pulled_at": ""},
"image_tag": "",
"generated_scripts": [],
"outputs": [],
"logs": []
}
},
"document_gap": {
"detected": false,
"topic": "",
"attempted_document_ids": [],
"missing_information": [],
"blocking_reason": ""
}
}字段和阶段
knowledge 记录文档 ID 与检索时间;workflow 记录车道、目标、阶段和状态; execution.bioline 记录真实的 input、project、Flow 和 Job ID;bindings、 defaults_used 和 selected_artifacts 保存 planning 证据。finalize 后, downstream 保存精确 Tool reference、name/version、summary hash、pull 前后镜像身份、 推导后的 image tag、生成脚本、输出和日志。Tool 通过 NAME:VERSION 按需发现,不使用 registry/images.yaml 作为运行时 allowlist。
planned 之后必须进入 awaiting_plan_confirmation。没有用户确认不能进入 submitted;Job 创建返回的 ID 必须原样写回。document_gap.detected 为 true 时, 阶段必须是 document_gap,并且 blocking_reason 不能为空。
持久化边界
registry 不能包含 authoring 字段,输入、输出和 spec 路径都必须是绝对执行路径, 并且不能落在 /data/authoring/。目标必须是精确正整数版本;本地 tag 按 name.lower():version 推导。下游网络固定为 none。schema、模板和运行时的字段闭合 规则见本地 OpenClaw 契约。
