You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(orb): score enforcement closes as their own class, not quality mispredictions (#8827)
A policy close (contributor cap, blacklist, copycat, review-nag,
screenshot-table, linked-issue hard rule) carries no gate blocker, so
blockerClass was 'none' and the recorded reason fell back to the gate's
own conclusion -- writing 'success' on a PR the bot deliberately closed.
Calibration then scored every one as a quality misprediction ('said
merge, ended closed') when the gate never made a quality claim at all.
On the live fleet all 210 rows in that class carried the bare summary
'success', indistinguishable from a real verdict.
Closes#8825.
An enforcement close is a deliberate decision, not an error, and can be
neither confirmed nor disconfirmed as a quality prediction -- so it is
excluded from precision/accuracy scoring entirely rather than counted
on either side, and reported separately as policyActions so the volume
stays visible.
- processors: name the closeKind in the recorded reason
(policy_close:<kind>) instead of falling back to the conclusion
- orb-collector: bucket that prefix as policy_action, checked before
the substring rules so linked-issue-hard-rule doesn't flatten into
issue_policy
- analytics: carry the bucket through the confusion matrix; exclude
policy_action cells from decisionAccuracy/precision while still
counting them in decided and reversalRate
Rows exported before the bucket existed carry null and keep scoring as
ordinary quality verdicts, so historical data is unchanged.
0 commit comments