pub fn validate_dag(dag: &DagDefinition) -> Result<(), DagValidationError>Expand description
DAG 定義の整合性と無閉路性を静的に検証する。
§検査項目
nodesが 1 つ以上のノードを含むこと。entry_nodeがnodesに実在すること。- 各ノードのプロパティ検証 (推論ノードの質問、並行ノードの合流先など)。
- すべての遷移先 (
target_node,parallel_nodes,join_node) が実在すること。 - DFS による有向グラフの閉路 (サイクル) 検出。
entry_nodeから全ノードへの到達性確認。