Trait expression score (LLM judge) — operationalizes its rubric through → GPT-4.1-mini
The rubric alone does not produce a score; how GPT-4.1-mini is queried against it does. The model is prompted to output a bare number between 0 and 100, but the paper does not use whatever single token it samples — it retrieves the top-20 logits from the output distribution, isolates the subset that correspond to integers 0–100 (known to tokenize as single tokens in OpenAI's tokenizer), and computes a logit-weighted sum over just those candidates (persona-vectors, §"B.1 Evaluation scoring details", p. 28). That choice trades a single discrete sample for a continuous readout blending the model's whole distribution of plausible scores, and it is what makes the metric a stable, comparable 0–100 signal across responses rather than a noisier single-draw guess. Trusting that signal rests on validation the paper reports at trait-level granularity: two human judges, 300 pairwise comparisons of high- versus low-scored responses, agreeing with the LLM's ranking 97% of the time for evil, 92% for sycophancy, and 95% for hallucination, 94.7% overall (persona-vectors, §"B.2 Checking agreement between human judges and LLM judge", p. 28). GPT-4.1-mini also serves the paper as an LLM-based data filter in the later data-screening appendices — a separate role, distinct from the judge function trait-expression-score depends on here.