pub fn gather_layer_dependency_violations(
edges: &[ProjectedEdge],
layers: &[LayerDefinition],
allowed_dependencies: &BTreeMap<String, BTreeSet<String>>,
forbidden_dependencies: &BTreeMap<String, BTreeSet<String>>,
) -> Vec<LayerDependencyViolation>Expand description
Collects rejected cross-layer dependencies from an already projected file graph.
Intra-layer edges and edges with an unassigned endpoint are ignored. Blocklists take precedence over allowlists so one concrete dependency produces at most one violation.