Reading an evaluation verdict
An evaluation verdict fits on one line:
9W/4T/2L (p=0.065). This page unfolds that line, number by number, on a real case from the repository.
1. The design: two arms, nothing else differs
Every stimulus runs twice on the same input: once with no skill mounted at all, once with only the skill under test. Everything else is identical — same model, same judge, same moment.
graph LR
S["Stimulus<br/>run 5 times"] --> B["Baseline arm<br/>no skill"]
S --> T["Skilled arm<br/>the skill alone"]
B --> P["Pairing<br/>trial 0 ↔ trial 0<br/>trial 1 ↔ trial 1…"]
T --> P
P --> V{"Compare<br/>per pair"}
V -->|skilled > baseline| W["W — win"]
V -->|equal scores| E["T — tie"]
V -->|skilled < baseline| L["L — loss"]
Pairing trial by trial is what makes the measurement usable: it cancels most of the model’s own variance. What remains is attributable to the skill.
2. From a batch of trials to three numbers
Take adr-eligibility-gate, measured over 3 stimuli × 5 trials = 15 pairs:
ℹ️ 9 wins · 4 ties · 2 losses
3. Ties are thrown away — and that is the key move
A tie says nothing about direction. It is neither an argument for nor against. The test sets those aside.
15 pairs to begin with
W W W W W W W W W T T T T L L
└───── 9 ─────┘ └── 4 ──┘ └2┘
▲
│ discarded: no directional information
▼
11 DECISIVE pairs remain → 9 for, 2 against
The vocabulary matters: those 11 are the discordant pairs. They are the only thing the sign test looks at.
4. The only question it asks
If the skill did nothing at all, each decisive pair would be a coin flip. How often does a fair coin tossed 11 times land at least as lopsided as 9 to 2?
That is a counting exercise, not a formula. Across the 2¹¹ = 2048 equally likely sequences:
heads │ how many ways │ distribution
───────┼───────────────┼──────────────────────────────────────────────
0 │ 1 │ █ ← counted
1 │ 11 │ █ ← counted
2 │ 55 │ █████ ← counted
3 │ 165 │ ███████████████
4 │ 330 │ ██████████████████████████████
5 │ 462 │ ██████████████████████████████████████████
6 │ 462 │ ██████████████████████████████████████████
7 │ 330 │ ██████████████████████████████
8 │ 165 │ ███████████████
9 │ 55 │ █████ ← counted
10 │ 11 │ █ ← counted
11 │ 1 │ █ ← counted
───────┴───────────────┴──────────────────────────────────────────────
both tails: 134 out of 2048 = 0.065
p = 0.065. It reads: “a coin that does nothing produces a result at least this one-sided 6.5% of the time”.
The threshold (the alpha) is 0.05. 6.5% > 5% → not significant. Barely.
⚠️
pis not the probability that the skill works. And1 − pis not a confidence level.panswers one question only: is this result hard to explain by chance?
5. Why the floor sits at six decisive pairs
| Decisive pairs | p if everything is won |
|
|---|---|---|
| 3 | 0.250 | ❌ |
| 4 | 0.125 | ❌ |
| 5 | 0.0625 | ❌ |
| 6 | 0.031 | ✅ |
| 7 | 0.016 | ✅ |
| 8 | 0.008 | ✅ |
With 5 decisive pairs, even a flawless 5W/0L scores 0.0625 — above the threshold. A coin lands heads five times running often enough that it proves nothing.
ℹ️ Below six decisive pairs no result can conclude, however perfect. That is why the verdict is
inconclusiverather than “no improvement”: the skill is not blamed for a trial budget that could never have concluded in either direction.
What each loss costs
The table above assumes a flawless sweep. The moment one pair goes the other way the bar rises — and it rises fast:
| Losses | Minimum wins | Decisive pairs | p reached |
|---|---|---|---|
| 0 | 6 | 6 | 0.031 |
| 1 | 8 | 9 | 0.039 |
| 2 | 10 | 12 | 0.039 |
| 3 | 12 | 15 | 0.035 |
| 4 | 13 | 17 | 0.049 |
0 losses ████████████ 6 wins
1 loss ████████████████ 8
2 losses ████████████████████ 10
3 losses ████████████████████████ 12
4 losses ██████████████████████████ 13
└── each loss costs roughly two extra wins ──┘
A loss is not cancelled by one win — it costs two. That is the nature of the test: a pair going the other way does not merely subtract from the count, it makes the whole split less lopsided, and therefore less surprising for a coin.
adr-eligibility-gate had 9 wins and 2 losses. The threshold at two losses
is 10 wins. It fell exactly one win short — one more pair in the right
direction and the verdict would have flipped.
6. The blind spot: magnitude
The sign test sees direction only, never the size of the gap.
A win by 0.001 ─┐
├─→ both counted "W", indistinguishable
A win by 0.900 ─┘
Yet adr-eligibility-gate moved from 0.593 to 0.911 — one of the largest
movements measured. The sign test is blind to it.
That is what the rank test (Wilcoxon signed-rank) is for: it ranks pairs by the size of their gap and weighs each one. On the same measurement it returns p = 0.012, comfortably below the threshold.
| Question asked | adr |
|
|---|---|---|
| Sign test | Does the skill win often? | p = 0.065 ❌ |
| Rank test | Does the skill win by a lot? | p = 0.012 ✅ |
Both must clear for a verdict to be credible. Requiring agreement rather than either alone stops two shots at the same question from doubling the false-positive rate on the field that gates a merge.
7. The other reasons a verdict does not conclude
An inconclusive is not always a budget problem. Four distinct causes, four
opposite actions:
graph TD
N["No verdict"] --> A{"Did the skill<br/>load at all?"}
A -->|no| AC["ACTIVATION<br/>baseline against baseline<br/>→ widen the skill description"]
A -->|yes| C{"Was the baseline<br/>already at full marks?"}
C -->|yes| CE["CEILING<br/>the stimulus cannot discriminate<br/>→ change the stimulus"]
C -->|no| E{"Any errored<br/>trials?"}
E -->|yes| IN["INFRASTRUCTURE<br/>a flake, not a finding<br/>→ re-run"]
E -->|no| P{"≥ 6 decisive<br/>pairs?"}
P -->|no| PO["POWER<br/>budget too small<br/>→ more trials"]
P -->|yes| RE["GENUINE NULL<br/>measured properly, nothing there"]
Adding trials only fixes the last branch. On a skill that never activates, doubling the budget simply doubles the number of discarded pairs.
8. The reading table
| Verdict | What it means | What to do |
|---|---|---|
✅ pass |
Credible improvement: both tests clear, more wins than losses | Nothing — the skill earns its place |
🔴 regression |
Credible harm | Blocks the merge. The only state that does |
➖ no improvement |
Measured properly, the gap is indistinguishable from chance | Check magnitude and activation before concluding |
⚪ inconclusive |
The measurement could not decide | Read the cause: errored trials, unmatched trials, or too small a budget |
A missing or fragile result is never displayed as a success.
See also
- Evaluating a skill — the full procedure
- Genesis & contributing — proposing a pattern
- Dashboard — verdicts and their trend