# Telnyx + Voxtral KPI Contract

> **Note (2026-06-08):** Provider under test changed to **LiveKit + realtime speech-to-speech**
> (see `LIVEKIT_VOICE_MIGRATION.md`), but this contract still stands — the KPIs, A/B
> acceptance gates, and rollback thresholds apply unchanged to the realtime cohort.

Single source of truth for migration acceptance and rollback.

## Baseline KPIs (per queue + language)

- `costPerConnectedMinuteUsd`
- `p50TurnLatencyMs`
- `p95TurnLatencyMs`
- `transcriptAccuracyScore`
- `businessConversionRate`
- `bookingsRate`
- `resolutionRate`
- `escalationRate`

## A/B Acceptance Gates

- Cost reduction: `>= 25%` (target can be raised to 40% by queue)
- p95 latency delta: `<= configured maxP95LatencyDeltaMs`
- Business KPI regression: `<= configured maxBusinessKpiRegressionPct`
- Escalation delta: `<= configured maxEscalationRateDeltaPct`

## Mandatory Rollback Criteria

Rollback candidate traffic immediately when any threshold is breached:

- `p95TurnLatencyMs > rollbackThresholds.maxP95LatencyMs`
- `businessDropPct > rollbackThresholds.maxBusinessDropPct`
- `escalationRatePct > rollbackThresholds.maxEscalationRatePct`
- `observedCostReductionPct < rollbackThresholds.minCostReductionPct`

## Source APIs

- Config and gates: `api.public.voiceMigration.upsertMigrationConfig`
- Baselines: `api.public.voiceMigration.upsertBaselineKpi`
- Dashboard: `api.public.voiceMigration.getMigrationDashboard`
- Rollback guard: `api.public.voiceMigration.evaluateRollbackAndTrigger`
