# Threshold repair and active-learning preparation

Run directory: `runs/threshold-repair-20260811T205038Z/model_bundle`

## Plain-English summary

- The generic abstention rule has been replaced with operating bands based on `prob_intervention`.
- The defect model no longer learns or emits `none` as a coexisting defect; `none` is derived only when no positive defect fires.
- No live application behaviour was changed.
- The test set has now been inspected, so a future unseen-meeting holdout is needed before any production-quality claim.

## Quality-gate operating bands

- `rewrite_warning`: `prob_intervention >= 0.485`
- `no_intrinsic_quality_warning`: `prob_intervention <= 0.400`
- everything else: `review`

| Band | Rows | Coverage | Error rate |
| --- | ---: | ---: | ---: |
| no_intrinsic_quality_warning | 81 | 20.0% | 6.2% |
| review | 71 | 17.6% | 0.0% |
| rewrite_warning | 252 | 62.4% | 17.9% |

## Quality-gate test policy

- Rewrite-warning intervention precision: 58.1%
- Rewrite-warning intervention recall: 94.7%
- No-warning ready precision: 100.0%
- No-warning ready recall: 16.7%

## Repaired quality-defect thresholds

| Defect | Threshold | Calibration | Status | Reason |
| --- | ---: | --- | --- | --- |
| transcript_chatter | 0.50 | validation | optimised | selected by max F1 on validation calibration |
| fragment_or_false_start | 0.46 | validation | optimised | selected by max F1 on validation calibration |
| speaker_reported_speech | 0.56 | validation | optimised | selected by max F1 on validation calibration |
| topic_only_or_missing_substance | 0.52 | validation | optimised | selected by max F1 on validation calibration |

## Defect before and after on test

| Defect | Previous F1 | New F1 | Previous predicted positives | New predicted positives |
| --- | ---: | ---: | ---: | ---: |
| transcript_chatter | 61.5% | 61.5% | 9 | 9 |
| fragment_or_false_start | 0.0% | 25.0% | 0 | 7 |
| speaker_reported_speech | 50.0% | 50.0% | 1 | 1 |
| topic_only_or_missing_substance | 59.3% | 64.0% | 17 | 15 |

## Review queues

- Quality-gate queue: 205 rows
- Established-heads queue: 185 rows

## Recommendation

The policy repair stops the pathological abstention/defect firing, but the minority defect classes are still too sparse. The next useful step is real labelled examples, not a model change yet.
