# Weigh: extraction-prompts, run 2026-10-20-v6

Exchange Triage extraction prompts v1 to v4 over the 27-case golden set, through the production pipeline (intake, extraction, grounding, appetite; writer off) on claude sonnet via the CLI. Baseline v3 (production), candidate v6 (v5 with the per-unit clause corrected), v3-repeat as the noise floor, v5, v4, v2 and v1 for history. Reference: the golden labels. Judges: two source-attribution classifiers, validated against human labels in weigh/labels/extraction-prompts.jsonl.

**Gate passed.** Pass-all did not drop and the guarded checks did not fall.

**Noise floor: the candidate's change is within it.** The baseline run twice (v3 against v3-repeat) moved pass-all +0.0% against the candidate's +29.6%; decision_correct +3.7% against +18.5%, fields_correct -3.7% against +0.0%.

| | v3 | v6 | change |
|---|---|---|---|
| pass-all | 13/27 (48.1%) | 21/27 (77.8%) | +29.6% |
| prompt tokens per case | 5,096 | 5,479 | +7.5% |
| output tokens per case | 999 | 986 | -1.3% |
| cost per case (API-equivalent) | $0.0119 | $0.0149 | +25.2% |
| latency per case | 13,600 ms | 13,186 ms | -3.0% |

## Checks

| check | kind | v3 | v6 | delta |
|---|---|---|---|---|
| extraction_schema | code | 27/27 | 27/27 | +0.0% (saturated) |
| fields_correct | code | 27/27 | 27/27 | +0.0% (saturated) |
| construction_canonical | code | 18/18 | 18/18 | +0.0% (saturated) |
| nulls_stay_null | code | 5/5 | 5/5 | +0.0% (saturated) |
| decision_correct | code | 22/27 | 27/27 | +18.5% |
| attribution_jev | judge | 0/0 | 0/0 | n/a |
| attribution_claude | judge | 17/27 | 21/27 | +14.8% |

No per-case regression.

Paired cases: 27. Bootstrap 95% interval on the mean token difference: 367 to 399. Tokens and cost metered from the provider's usage report.

## Judge validation

**attribution_claude** (54 labels matched, 0 unmatched)

| split | n | human fails | human passes | TPR | TNR |
|---|---|---|---|---|---|
| all | 54 | 14 | 40 | 71.4% | 70.0% |
| train | 12 | 1 | 11 | 0.0% | 90.9% |
| dev | 22 | 3 | 19 | 100.0% | 63.2% |
| test | 20 | 10 | 10 | 70.0% | 60.0% |


Reproduce:
```
bun src/cli.ts run <path> --run-id 2026-10-20-v6 --concurrency 4
bun src/cli.ts report extraction-prompts 2026-10-20-v6
```
