Better Policies, Worse Verifier Audits
Organizations: Gdańsk University of Technology, Gdańsk, Poland
Abstract
Verifier stacks increasingly sit inside post-training and test-time compute loops. We study a specific control loop: a component verifier is evaluated on fresh policy outputs against the full success label and refreshed when that aggregate score falls. For a conjunctive target , its on-policy AUC is , where . As the policy masters , can rise toward one, removing weight from -failures and rewarding information about . We call this on-policy audit collapse. We derive a sharp identified set, a complete-erasure threshold, and the exact point at which the audit can prefer a worse component verifier; its population optimum is the full-outcome predictor, not the component oracle. An exact oracle exhibits the collapse, a natural multi-label text control shows inversion can select a head with lower canonical -AUC at the observed failure mixture, and a prediction-registered ECG study shows that acting on the audit can reduce off-policy -AUC, transfer the damage to an unseen generator, and increase downstream constraint violations. Preserving own-failure support prevents the damage. Matching label-complexity bounds and a controlled-mixture audit give the corresponding repair: audit the component on its own failures, and keep those failures in the refresh distribution.
Figures & tables
| policy | aggregate AUC | |||
|---|---|---|---|---|
| 1.5B sum | ||||
| 1.5B hard gate | ||||
| 7B sum | ||||
| 7B hard gate | ||||
| GSM8K base | ||||
| GSM8K sum DPO |
Appendix figures & tables39 assets
Supplementary material from the paper’s appendix.
Appendix
| policy | supply@16 | sum | log-prob | correct only |
|---|---|---|---|---|
| base | ||||
| sum DPO | ||||
| gated DPO |
| literature | closest object | distinction in this work |
|---|---|---|
| ROC / case mix ( Sadatsafavi et al., 2022 ) | how population composition changes ROC behavior | inverse identification from semantic failure bins; complete-erasure threshold and component-specific audit target |
| finite-mixture identification ( Henry et al., 2014 ) | identification as mixture weights vary while components stay fixed | our two-mixture rank condition is a special linear case; novelty is the verifier-audit interpretation and its operational consequences |
| rubric RL / policy-aware criteria ( Gunjal et al., 2026 ; Tyagi et al., 2026 ) | criterion-level judgments are aggregated for on-policy RL; criterion saturation changes with the policy | establishes the modern component/aggregate setting; we analyze outcome-audit identification and maintenance rather than reward weighting |
| RM evaluation ( Wen et al., 2025 ; Kim et al., 2025 ; Razin et al., 2025 ; Shum et al., 2026 ) | static verifier/RM metrics need not determine downstream optimized-policy quality | a specific structural reason: outcome AUC of a component verifier becomes a moving semantic mixture and can prefer the wrong verifier |
| verifier-induced support reshaping ( Wei et al., 2026 ) | optimizing one verifier can remove policy behaviors needed for later objectives | support loss is not claimed as new; we show that the audit itself loses component identification and can trigger a refresh that forgets the missing failure mode |
| verifier-loop regression ( Lin, 2026 ) | a verifier that is useful on one task can regress a learner after task shift | our failure occurs even without a bad verifier: an exact component oracle can look worse solely because policy success changes the failure mixture |
| raw-sum answer@16 |
|---|
| family | endpoint | difference | requirement bootstrap 95% CI |
|---|---|---|---|
| DPO 1.5B | per draw | ||
| DPO 1.5B | supply@16 | ||
| DPO 1.5B | two-stage answer@16 | ||
| DPO 7B | per draw | ||
| DPO 7B | supply@16 | ||
| DPO 7B | two-stage answer@16 |
| ranking | feasible | on target | mass error |
|---|---|---|---|
| sum ( ) | |||
| hard gate | |||
| tuned sum ( ) | |||
| log-prob | |||
| mass-only |
| predictor | MAE | worst arm | signed bias | (pred, measured) |
|---|---|---|---|---|
| chance | [ ] | — | ||
| persistence | [ ] | |||
| [ ] | ||||
| [ ] |
| source target | arms | chance | persistence | zero-param | transported |
|---|---|---|---|---|---|
| 1.5B base 1.5B trained | |||||
| 7B base 7B trained | |||||
| 1.5B base 7B trained | |||||
| 1.5B base cVAE pools | |||||
| GSM8K base GSM8K trained |
| run | : step 0 250 1500 | chance | persistence | zero-param | transported |
|---|---|---|---|---|---|
| log-probability | |||||
| tuned sum | |||||
| three-conjunct gate | |||||
| mass-only (null) |
| generator | feasible | on target | supply@ |
|---|---|---|---|
| prior, random latent | |||
| decoder, | |||
| decoder, | |||
| decoder, , capped | |||
| latent search on |
| pools | singleton | mixed labels | Answer@16 range (monotone ) | range (linear ) | |
|---|---|---|---|---|---|
| Llama base | 2.28 | .28 | .21 | [.33, .54] | [.34, .54] |
| Gemma base | 1.75 | .41 | .00 | [.00, .00] | [.00, .00] |
| Phi base | 2.18 | .28 | .14 | [.46, .60] | [.46, .59] |
| Phi gate (3 seeds) | 2.43–2.53 | .19–.24 | .06–.09 | [.65–.68, .73–.74] | [.65–.68, .73–.74] |
| Phi inference (3 seeds) | 2.27–2.71 | .18–.28 | .06–.10 | [.65–.67, .73–.75] | [.65–.67, .73–.74] |
| Phi pair (3 seeds) | 1.01–1.10 | .91–.99 | .00–.01 | [.51–.54, .51–.55] | [.51–.54, .51–.55] |
| labelled negatives | 25 | 50 | 100 | 200 | 400 | 800 |
|---|---|---|---|---|---|---|
| Llama: mean estimate | .896 | .896 | .895 | .894 | .895 | .896 |
| Llama: CI width / coverage | .19 / .89 | .14 / .91 | .12 / .96 | .10 / .98 | .09 / 1.00 | .08 / 1.00 |
| Phi: mean estimate | .852 | .846 | .841 | .841 | .843 | .842 |
| Phi: CI width / coverage | .25 / .91 | .21 / .93 | .18 / .98 | .16 / .99 | .15 / 1.00 | .14 / 1.00 |
| family | rule | seed 0 | seed 1 | seed 2 |
|---|---|---|---|---|
| Llama | inference | .512 (1.00) | .518 (1.00) | .470 (1.00) |
| Llama | gate | .512 (.47) | .520 (1.00) | .488 (1.00) |
| Llama | pair | .000 (.00) | .000 (.00) | .512 (1.00) |
| Llama | unit sum | .000 (.00) | .002 (.00) | .512 (1.00) |
| Gemma | inference | .008 (1.00) | .000 (.00) | .006 (.96) |
| Gemma | gate | .006 (.97) | .000 (.00) | .006 (1.00) |
| pools | distinct | permuted | Answer@ range | |||||
|---|---|---|---|---|---|---|---|---|
| Llama base | 2 | 1.79 | 1.25 | 1.40 | 1.39 | 0.75 | 0.60 | 0.058 |
| 4 | 3.09 | 1.57 | 1.83 | 1.81 | 0.52 | 0.35 | 0.107 | |
| 8 | 5.10 | 1.88 | 2.27 | 2.25 | 0.39 | 0.21 | 0.153 | |
| 16 | 8.32 | 2.28 | 2.73 | 2.68 | 0.28 | 0.13 | 0.212 | |
| Phi base | 2 | 1.73 | 1.28 | 1.36 | 1.36 | 0.72 | 0.64 | 0.049 |
| 4 | 2.79 | 1.60 | 1.74 | 1.73 | 0.49 | 0.40 | 0.084 |
| pool | evaluable | own support | erased | macro | macro |
|---|---|---|---|---|---|
| llama base | 292 | 0.87 | 0.37 | 0.751 | 0.611 |
| llama hard gate s1 | 85 | 0.00 | 1.00 | 0.671 | 1.000 |
| llama hard gate s2 | 110 | 0.00 | 1.00 | 0.604 | 1.000 |
| llama inference weight s1 | 43 | 0.00 | 1.00 | 0.605 | 1.000 |
| llama inference weight s2 | 123 | 0.00 | 1.00 | 0.628 | 1.000 |
| gemma pair weight s1 | 19 | 0.00 | 1.00 | 0.211 | 1.000 |
| family | RMSE | scaled | no own failure | RMSE | scaled | |
|---|---|---|---|---|---|---|
| Llama | 0.00 | 0.021 | 0.20 | 0.000 | 0.010 | 0.21 |
| 0.50 | 0.029 | 0.20 | 0.000 | 0.014 | 0.20 | |
| 0.80 | 0.046 | 0.21 | 0.000 | 0.023 | 0.21 | |
| 0.90 | 0.067 | 0.21 | 0.000 | 0.033 | 0.21 | |
| 0.95 | 0.102 | 0.23 | 0.006 | 0.047 | 0.21 | |
| family | contrast | estimate | 95% interval |
|---|---|---|---|
| Llama | gate-inference | ||
| Llama | pair-gate | ||
| Llama | pair-inference | ||
| Gemma | gate-inference | ||
| Gemma | pair-gate | ||
| Gemma | pair-inference |
| family | rule | role | overlap | per-draw | gate | 95% (seed+subject) | dist |
|---|---|---|---|---|---|---|---|
| Llama | gate | 1.000 | 0.512 | — | — | 0.00 | |
| 0.938 | 0.509 | 0.08 | |||||
| 0.923 | 0.510 | 0.08 | |||||
| gate-referenced | 0.873 | 0.516 | 0.13 | ||||
| 0.762 | 0.523 | 0.36 | |||||
| 0.559 | 0.511 | 0.92 |
| pool | evaluable | own support | I0: | I1: scores | I2: scores, |
|---|---|---|---|---|---|
| Llama base | 292 | 0.87 | 0.528 / 0.37 | 0.486 / 0.34 | 0.496 / 0.36 |
| Phi base | 283 | 0.64 | 0.548 / 0.48 | 0.538 / 0.48 | 0.538 / 0.48 |
| Phi hard gate s0 | 168 | 0.36 | 0.662 / 0.64 | 0.662 / 0.64 | 0.668 / 0.65 |
| Phi hard gate s1 | 197 | 0.28 | 0.720 / 0.72 | 0.720 / 0.72 | 0.721 / 0.72 |
| Phi hard gate s2 | 184 | 0.33 | 0.682 / 0.67 | 0.682 / 0.67 | 0.684 / 0.67 |
| Phi inference weight s0 | 158 | 0.36 | 0.648 / 0.64 | 0.648 / 0.64 | 0.649 / 0.64 |
| family | test at | best common | worst common | regret | hard gate | |
|---|---|---|---|---|---|---|
| Llama | 0.003 | 0.480 | 0.500 | 0.392 | 0.020 | 0.486 |
| Phi | 0.03 | 0.542 | 0.546 | 0.512 | 0.004 | 0.548 |
| rule | overlap | endpoint | gate | gap | informative | |
|---|---|---|---|---|---|---|
| engine unit sum | 0.099 | 0.174 | 0.596 | 0.758 | yes | |
| engine validation-tuned .005 | 0.210 | 0.262 | 0.571 | 0.758 | yes | |
| engine contrast-matched .1 | 0.150 | 0.828 | 0.770 | 0.758 | yes | |
| engine log-probability | 0.140 | 0.287 | 0.675 | 0.758 | yes | |
| engine mass-only | 0.262 | 0.071 | 0.519 | 0.758 | yes | |
| Llama inference 0.003 | 0.923 | 0.969 | 0.500 | 0.507 | no |
| work | component-level structure | policy-dependent ingredient | interface relevance |
|---|---|---|---|
| Rubrics as Rewards ( Gunjal et al., 2026 ) | prompt-specific rubric criteria judged separately | on-policy rubric RL | criterion signals are aggregated into a scalar reward |
| Reward hacking in rubric RL ( Mahmoud et al., 2026 ) | criterion-level training-verifier judgments | exploitation grows during RL | aggregate proxy reward can diverge from broader reference evaluation |
| POW3R ( Tyagi et al., 2026 ) | independently judged rubric criteria | criteria become saturated, dead or mixed under the current policy | shows criterion informativeness changes with policy state |
| UGDA / iterative RLHF ( Sun et al., 2025 ; Bai et al., 2022 ) | learned reward/preference model | fresh policy interactions enter later updates | supplies the on-policy refinement step used in our controller abstraction |
| setting | quantity | |||||
|---|---|---|---|---|---|---|
| Llama GBM | post-DPO audit | 0.625 | 0.686 | 0.674 | 0.721 | 0.728 |
| base audit | 0.855 | 0.897 | 0.902 | 0.905 | 0.917 | |
| -AUC (base) | 1.000 | 0.999 | 0.999 | 0.997 | 0.964 | |
| Llama MLP | post-DPO audit | 0.561 | 0.654 | 0.644 | 0.673 | 0.692 |
| base audit | 0.747 | 0.829 | 0.858 | 0.874 | 0.891 | |
| -AUC (base) | 1.000 | 0.999 | 0.998 | 0.997 | 0.936 |
| head | setting | monitor AUC | -AUC base | -AUC unseen | gate -violation | Answer@16 |
|---|---|---|---|---|---|---|
| Llama GBM | (3) | (0) | (0) | (10) | (0) | |
| Llama MLP | (9) | (0) | (0) | (10) | (2) | |
| Phi GBM | (4) | (0) | (0) | (10) | (0) | |
| Phi MLP | (8) | (0) | (0) | (10) | (0) | |
| Llama GBM | (1) | (0) | (0) | (10) | (0) | |
| Llama MLP | (8) | (0) | (0) | (2) | (0) |
| triggered | mean -AUC | gate -violation | Answer@16 | |
|---|---|---|---|---|
| .05 | 4/4 | .719 | .179 | .491 |
| .10 | 3/4 | .742 | .175 | .499 |
| .15 | 3/4 | .742 | .175 | .499 |
| .20 | 2/4 | .772 | .172 | .504 |
| .25 | 1/4 | .880 | .158 | .516 |
| no refresh / reference- trigger | 0/4 | 1.000 | .148 | .530 |
| canonical -AUC | / observed audit | |||
|---|---|---|---|---|
| .10 | .668 | .656 | .299 | .120 / .470 |
| .50 | .619 | .623 | .564 | .113 / .592 |
| 1.00 | .570 | .589 | .765 | .126 / .681 |
| 2.00 | .520 | .547 | .879 | .155 / .721 |
| 4.00 | .483 | .512 | .919 | .183 / .725 |
Algorithmic Auditing
Algorithmic auditing evaluates whether automated systems are fair, reliable, robust, compliant, and accountable in their intended settings.
See all 139 papers