From 567dfae504d290b7af1e01b342d5cd18c07f0c73 Mon Sep 17 00:00:00 2001 From: Chiranjeet Mishra Date: Wed, 14 Oct 2026 03:47:02 +0000 Subject: [PATCH] docs: correct custom endpointing rule precedence Transcriber end-of-turn detection is used before custom rules are evaluated when no smartEndpointingPlan is set or its provider is the transcriber. Custom rules win over smart and heuristic endpointing but not over transcriber end-of-turn, so 'highest priority' was wrong. --- fern/customization/voice-pipeline-configuration.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fern/customization/voice-pipeline-configuration.mdx b/fern/customization/voice-pipeline-configuration.mdx index 125a9f7d7..609470f76 100644 --- a/fern/customization/voice-pipeline-configuration.mdx +++ b/fern/customization/voice-pipeline-configuration.mdx @@ -118,10 +118,10 @@ User Audio → VAD → Transcription → Start Speaking Decision → LLM → TTS Voice Activity Detection (VAD) detects utterance-stop - System evaluates completion using this priority order: - 1. **Transcriber EOT detection** (if transcriber has built-in EOT and no smart endpointing plan) - 2. **Custom Rules** (highest priority when configured) - 3. **Smart Endpointing Plan** (LiveKit for English, Vapi for non-English) + System evaluates completion in this order and stops at the first step that applies: + 1. **Transcriber EOT detection** (if the transcriber has built-in EOT and no `smartEndpointingPlan` is set, or the plan's provider is the transcriber itself). The turn ends on the transcriber's final transcript, and custom rules are not evaluated. + 2. **Custom Rules** (if a rule matches, its timeout is used) + 3. **Smart Endpointing Plan** (LiveKit for English, Vapi for non-English), or the heuristic `transcriptionEndpointingPlan` when no smart endpointing applies LLM request sent immediately → TTS processes → waitSeconds applied → @@ -508,7 +508,7 @@ Understanding exact timing helps optimize your voice pipeline configuration. Thi ### Custom endpointing rules -Highest priority rules that override all other endpointing decisions when patterns match. +Rules that override the smart endpointing plan and `transcriptionEndpointingPlan` when a pattern matches. They are not evaluated when the transcriber's own end-of-turn detection is in use (see [Start speaking process](#start-speaking-process)). ```json {