pub fn build_focus_map(inputs: &FocusInputs<'_>) -> FocusMapExpand description
Build the weighted focus map from the assembled brief inputs: score each unit,
label it (review-here / not-prioritized, NEVER skip), attach the reason
and confidence flags, then partition into the ranked review_here list and
the FULL deprioritized escape-hatch list.
Pure + deterministic: no timestamps, no randomness, integer arithmetic only,
so two runs over the same tree produce a byte-identical focus map. The two
output lists partition the unit set, so the escape-hatch completeness invariant
(review_here.len() + deprioritized.len() == graph_facts.len()) holds by
construction.