featherbit/graph/mod.rs
1//! Node-graph policy engine: compiles YAML-declared policies into executable
2//! pipelines and validates their structure.
3//!
4//! A policy is a directed graph of plugin nodes connected by edges written as
5//! `from: node_id.port` / `to: node_id.port` (ports: `out`, `success`,
6//! `error`, `in`). Policies referencing supernodes are inlined by `expand_policy` before compilation.
7//! [`compile_policy`] produces a [`CompiledGraph`] that the
8//! data-plane executes per request; [`validate_policy`] checks structure first.
9
10mod engine;
11mod expand;
12mod prepare;
13mod validation;
14
15pub use engine::{compile_policy, CompiledGraph};
16pub use expand::expand_policy;
17pub use prepare::prepare_policy;
18pub use validation::validate_policy;
19pub use validation::validate_supernode;