mod report#
- module report#
Operator-facing reports from a solved stack lock: ordered build list and baseline-vs-solved markdown stack diff.
Functions
- fn classify_stack_diff(baseline: &StackLock, solved: &StackLock) -> Vec<PackageChange>#
Classify every logical package (by name) between baseline and solved locks.
Result is sorted by package name for stable markdown.
- fn format_build_list(lock: &StackLock, dep_map: &HashMap<String, Vec<String>>) -> String#
Format a plain-text build list: one easyconfig path per line, deps first.
- fn format_stack_diff_markdown(baseline: &StackLock, solved: &StackLock) -> String#
Human-reviewable markdown comparing baseline lock to solved lock.
Pasteable into a pull request: per-package status, versions, and easyconfig paths on each side that exists.
- fn ordered_build_paths(lock: &StackLock, dep_map: &HashMap<String, Vec<String>>) -> Vec<String>#
Return co-selected easyconfig paths in dependency order (deps before apps).
Edges come from
dep_map(package name → co-stack dependency names). Only dependencies that are also co-selected participate. Tie-break is stable by package name so the order is deterministic.
- fn ordered_packages<'a>(lock: &'a StackLock, dep_map: &HashMap<String, Vec<String>>) -> Vec<&'a LockPackage>#
Packages in install order (same topology as
ordered_build_paths).
Enums
- enum PackageChangeKind#
Classification of one logical package between baseline and solved locks.
- Unchanged#
- Added#
- Removed#
- VersionBumped#
Implementations
- impl PackageChangeKind#
Functions
- fn as_str(self) -> &'static str#
Structs and Unions