pub fn compile(
files: Vec<RawRuleFile>,
mw_meta: &dyn MiddlewareMetadataProvider,
fetch_meta: &dyn FetchMetadataProvider,
) -> Result<Arc<SymbolicFlowGraph>, Error>Expand description
Facade for the core compile pipeline.
Runs merge → expand → analyze → lower → validate and returns an
Arc<SymbolicFlowGraph> ready for vane-engine::FlowGraph::link.
On error the message carries every diagnostic the pipeline
accumulated — the underlying compile_collecting runs each
stage’s “leaf checks” with push+continue, and only the stage
boundary decides whether to bail. Operators running
vane compile <dir> see all problems at once instead of fixing
them one-at-a-time.
§Errors
Returns Error::compile on duplicate rule names, unknown middleware
or fetch names referenced by rules, bad ListenSpec strings, predicate
type mismatches, or graph-level validation failures (dangling IDs,
cycles, phase mismatches).