feat(local): aggregate blocked-on-dependency reporting by dependency #131
Loading…
Reference in a new issue
No description provided.
Delete branch "t3code/aggregate-blocked-by-dep"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
With cascade detection (#128) live, the latest
auto-apply-patchesrun did exactly the right thing — proposed nothing (No auto-proposable candidates) because every failure is a dependency cascade, and it surfaced the ~30 root-cause dependencies to fix.But the "Blocked on a dependency" list printed one line per fingerprint group, so the same dependency repeated (rstan ×4, lpsymphony ×4, salso ×2, BH ×2, GO.db ×2, RcppCWB ×2, …), burying the priority.
What
Aggregate blocked packages across all groups by the dependency they wait on:
blocked_map(package → dependency) frombuild_triage_report().blocked_by_dependency()— dedupes dependents (a package in two groups counts once) and ranks dependencies by how many distinct dependents they block.blocked_summary.Result (same data, aggregated)
So the real run becomes a crisp, ranked worklist: RcppParallel (894), sf (128), rstan (~96), Rfast (33), clarabel/DescTools (26), Rglpk (22), xgboost (18), …
Verified
New test covers cross-group aggregation, dedup (a dependent in two groups counted once), the example cap, and ranking. 112 tests pass; hooks pass.