Record a real downstream quality signal (#538/#593). It always feeds the
online threshold learner; Bounce/EditFail additionally penalize the
bandit arm that produced this file’s compression, replacing the old
savings-only / hardcoded reward. CleanCompressed/WastedFull stay
learner-only — the positive bandit signal comes from realized savings
(report_bandit_outcome_for_path in entropy mode), so we avoid a bandit
disk write on every compressed read.
Reward (success=true) or penalize (false) the bandit arm recorded for
path. No-op when no arm was registered (e.g. the file was never read in a
threshold-driven mode), so attribution is never guessed.