Repository navigation
v0.2.165
Voice Reliability
- Bounds degenerate tool loops on the voice path to prevent infinite spinning on identical requests.
- Forces speech synthesis after three repeated tool-call round-trips to eliminate dead air.
- Applies escalating nudge at two repeats before disabling tool calling entirely at three.
- Configures the brake per backend, using
tool_choice: "none"for OpenAI-compatible APIs and schema withholding for Ollama and MLX.
Tool Loop Policy
- Introduces
agent/tool_loop.pyas a pure, testable policy module with no Pipecat dependencies. - Supports environment-tunable thresholds via
VOICE_TOOL_LOOP_NUDGE_ATandVOICE_TOOL_LOOP_STOP_ATto match existing iteration caps. - Uses greater-than-or-equal comparisons for thresholds because request-only edits do not persist notes in history for the model to reference.
- Pins tests across all four backends to ensure the guard is reached and does not rot in isolation.