pub fn populate_behavior(
deltas: &mut BTreeMap<String, RuleDelta>,
before: &[DecisionLine],
after: &[DecisionLine],
) -> FlipCounterExpand description
Walk paired before/after decision lists, fill in fires_before /
fires_after, build the global flip counter, attribute each flip
to the rule(s) that materially changed under the after-state, and
return the global flip counter.
Pairing is by index, mirroring the Python prototype. If the two runs produced different counts (which can happen if a shieldset change causes evaluation errors on some lines), we pair as many as we have and emit a stderr warning.