# UTFANSWF v23 Row 24 AI executable scope

The v22-era active runner treated `baseline_auc` and `utfanswf_auc` in `datasets/ai_guardrail_benchmark.csv` as a higher-is-better classification AUC and passed when mean gain was at least 0.02 with zero table violations.

The manuscript, however, defines a different quantity:

`AUC = integral(validation loss dt)` and `R_AUC = AUC_constrained / AUC_baseline <= 1-kappa`.

That is a lower-is-better loss-area metric.  The shipped CSV cannot reproduce it.  The original validation-loss time-series used to generate the historical learning-efficiency figures is not present in the bundle.

The v23 executable therefore:

- preserves and reproduces the shipped three-row classification-like AUC table;
- reports its mean/min gain and the table's reported safety-violation count;
- explicitly does **not** claim that this reproduces the manuscript loss-AUC ratio;
- does not reconstruct source data from figure PDFs;
- leaves the step-by-step spectral, privacy-accountant, and permission-lattice runtime gates open because corresponding logs are not shipped.

The original gate is preserved unchanged as `legacy_gate_row24_ai_auc_mismatch.py`.

A Row 24 PASS now means benchmark-record reproducibility with correct metric scope. It is diagnostic and non-blocking; the full learning-efficiency/safety-rail claim remains open until the actual time-series and runtime logs are shipped.
