pub struct Blueprint {
pub graph_id: String,
pub start: String,
pub channels: Vec<ChannelSpec>,
pub nodes: Vec<NodeSpec>,
pub edges: Vec<EdgeSpec>,
pub defaults: Vec<(String, Literal)>,
pub input: Vec<IoFieldSpec>,
pub output: Vec<IoFieldSpec>,
pub checkpoint: Option<String>,
pub interrupt: Option<String>,
pub joins: Vec<JoinSpec>,
pub provenance: Option<BlueprintProvenance>,
}Expand description
A compiled, semantically validated graph plan.
A Blueprint is the inspectable output of the compiler: it is fully
serializable so it can be stored, diffed, reviewed, and reloaded
independently of the source text. Runnable node behaviour is not part of
the blueprint — it is supplied later by a Rust-side
crate::language::compiler::NodeFactory.
Fields§
§graph_id: StringThe graph identifier.
start: StringThe validated start node name.
channels: Vec<ChannelSpec>State channel specifications.
nodes: Vec<NodeSpec>Node specifications.
edges: Vec<EdgeSpec>Static edge specifications.
defaults: Vec<(String, Literal)>Graph default key/value entries.
input: Vec<IoFieldSpec>The declared graph input shape (empty when unspecified).
output: Vec<IoFieldSpec>The declared graph output shape (empty when unspecified).
checkpoint: Option<String>Graph-level checkpoint policy (inherit, always, …).
interrupt: Option<String>Graph-level interrupt policy (manual, auto, …).
joins: Vec<JoinSpec>Compiled join/barrier declarations.
provenance: Option<BlueprintProvenance>Source provenance: where each piece of this blueprint came from.
Populated by crate::language::compiler::compile_with_provenance (and
the crate::language::testkit helpers). The plain compile path
leaves this None so its output is unchanged. Surface it through
Blueprint::provenance.
Implementations§
Source§impl Blueprint
impl Blueprint
Sourcepub fn provenance(&self) -> Option<&BlueprintProvenance>
pub fn provenance(&self) -> Option<&BlueprintProvenance>
Returns this blueprint’s source provenance, if it was compiled through a provenance-aware path.
Provenance lets a UI, test, or review tool trace every node, channel, and edge back to the exact source span and origin (a file path or a generated plan) it came from.