Skip to content

Commit d2a4bee

Browse files
docs: correct custom endpointing rule precedence (#1325)
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.
1 parent b413840 commit d2a4bee

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

‎fern/customization/voice-pipeline-configuration.mdx‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,10 @@ User Audio → VAD → Transcription → Start Speaking Decision → LLM → TTS
118118
Voice Activity Detection (VAD) detects utterance-stop
119119
</Step>
120120
<Step title="Endpointing decision">
121-
System evaluates completion using this priority order:
122-
1. **Transcriber EOT detection** (if transcriber has built-in EOT and no smart endpointing plan)
123-
2. **Custom Rules** (highest priority when configured)
124-
3. **Smart Endpointing Plan** (LiveKit for English, Vapi for non-English)
121+
System evaluates completion in this order and stops at the first step that applies:
122+
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.
123+
2. **Custom Rules** (if a rule matches, its timeout is used)
124+
3. **Smart Endpointing Plan** (LiveKit for English, Vapi for non-English), or the heuristic `transcriptionEndpointingPlan` when no smart endpointing applies
125125
</Step>
126126
<Step title="Response generation">
127127
LLM request sent immediately → TTS processes → waitSeconds applied →
@@ -508,7 +508,7 @@ Understanding exact timing helps optimize your voice pipeline configuration. Thi
508508

509509
### Custom endpointing rules
510510

511-
Highest priority rules that override all other endpointing decisions when patterns match.
511+
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)).
512512

513513
```json
514514
{

0 commit comments

Comments
 (0)