pub struct PartitionFacts {
pub units: Vec<ReviewUnitFact>,
pub order: Vec<String>,
pub independent_slices: Vec<Vec<String>>,
}Expand description
Stage 2 of the brief: the partition + order. The changed files split into coherent BY-MODULE units (the only byte-identical-deterministic clustering definition straight from the graph), plus a dependency-sensible review ORDER over those units (definitions before consumers, mechanical/leaf units last, ties broken by the path sort). Stage 2 sits UNDER the decision surface as a drill-down; it is the backbone the directed-review loop hands the agent.
Feature-cluster and concern partitioning are deferred (they need scoring heuristics whose tie-breaks are a fresh nondeterminism surface).
Fields§
§units: Vec<ReviewUnitFact>The by-module units, sorted by module directory. Empty when no graph was retained or no changed file maps to a known module.
order: Vec<String>The dependency-sensible review order: module-directory strings,
definitions before consumers, mechanical/leaf units last. A permutation of
the units module directories.
independent_slices: Vec<Vec<String>>Connected components of the inter-unit dependency graph: groups of
module directories that share no import edge with any unit outside the
group. Present only when there are two or more; a single slice is just
order. A slice proves the absence of import edges to the rest of the
change, nothing more: whether it can land on its own is still a
judgment (generated files and lockstep contracts share no edge and
still belong together). An orientation fact, never a demand to split.