24 Commits
Author SHA1 Message Date
didar 9fdaa9472f Revert "fix: let voice early-plan turns answer from the FAQ knowledge base"
deploy / deploy (push) Successful in 31s
This reverts commit 8ced7a59e3.
2026-08-31 00:54:38 +05:00
didar 8ced7a59e3 fix: let voice early-plan turns answer from the FAQ knowledge base
deploy / deploy (push) Successful in 32s
The speculative "early plan" turn (computed on partial ASR, before the
caller finishes talking) can win the race and get spoken as the actual
reply, but it unconditionally skipped KB search and answered common
questions (schedule/address/price/status/problem) with a hardcoded
clarifying question even when the FAQ already had the answer.

KB search is a cheap in-memory lexical scan over a DB-cached row set,
so it fits the early-plan latency budget unlike a real LLM call. Now
early-plan runs it and, on a match, answers from the KB snippet
(intent resolved via normalize_intent) instead of guessing a generic
clarifying question; with no match it falls back to the prior
behavior unchanged. operator_request is unaffected.
2026-08-31 00:38:06 +05:00
didar d2438b6954 feat: canonical intent taxonomy for AI operator (kb_answer -> intent_code)
deploy / deploy (push) Successful in 30s
Centralizes fixed control intents and adds a data-driven intent_code
field on kb_articles so many phrasings of the same FAQ question
resolve to one stable code (e.g. VOUCHER_ACTIVATION) instead of a
free-form, unvalidated string the LLM invented on the fly.

- services/shared/intents.py: CONTROL_INTENTS + normalize_intent()
- kb_articles.intent_code column (ORM + dev/sqlite runtime compat +
  migrations/sql/0034_* for postgres/sqlite)
- kb_service CRUD exposes intent_code
- orchestrator surfaces intent_code to the LLM and validates its
  intent output against control intents + the KB codes shown that turn
- voice.py: _voice_early_intent_bucket renamed to _voice_ack_topic_bucket
  to stop it being conflated with the canonical FAQ intent
2026-08-31 00:17:51 +05:00
didar fe9b3f3a80 feat: enhance voice reply logic to prevent duplicate name addressing and improve greeting handling
deploy / deploy (push) Successful in 32s
2026-08-30 11:53:56 +05:00
didar 09bcf7457c feat: add AI_VOICE_AI_TIMEOUT_SECONDS for configurable voice timeout
deploy / deploy (push) Successful in 30s
2026-08-29 00:50:08 +05:00
Magzhan Zhumabayev ce3ba270aa Add configurable AI operator persona 2026-05-11 17:37:26 +05:00
Yera All 224973d840 Revert "fix(voice): race slow streaming asr finalize"
This reverts commit 77df41bce0.
2026-04-19 01:30:26 +05:00
Yera All 93002ab86a Revert "fix(voice): stop repeating failed clarifications"
This reverts commit 294d30a797.
2026-04-19 01:30:26 +05:00
Yera All 294d30a797 fix(voice): stop repeating failed clarifications 2026-04-19 01:19:54 +05:00
Yera All 77df41bce0 fix(voice): race slow streaming asr finalize 2026-04-19 01:06:03 +05:00
Yera All 9cd553bf92 feat(voice): start replies from stable streaming partials 2026-04-19 00:13:58 +05:00
Yera All 34b807e460 feat(voice): add elevenlabs stt and transcript truth fixes 2026-04-18 18:25:07 +05:00
Yera All 39096e114f fix(voice): harden noisy streaming turns 2026-04-17 00:30:41 +05:00
Yera All 6b8f5d069b feat(ai): add rolling conversation summary memory 2026-04-13 11:59:43 +05:00
Yera All 989bf9a0c1 fix(voice): stabilize v2 streaming topic handling 2026-04-12 21:59:32 +05:00
Yera All 7f4c80add1 test(voice): align runtime expectations with v2 fallback 2026-04-12 21:32:49 +05:00
Yera All 57bd5cad4b fix(voice): suppress low-signal turns and false lookup replies 2026-04-12 20:40:25 +05:00
Yera All b75b76fae6 feat(voice): add duplex streaming v2 pipeline 2026-04-11 17:38:21 +05:00
Yera All fc976804e4 feat(voice): add admin-configurable elevenlabs tts 2026-04-11 16:46:43 +05:00
Yera All 5588f99db9 fix(voice): fast fallback for off-domain requests 2026-04-11 01:55:28 +05:00
Yera All c39fad7e2d feat(voice): add phase 1.1 partial asr fast ack 2026-04-11 01:24:21 +05:00
Yera All 1497bb0feb feat(ai): Finalize voice operator persona and voice name flow 2026-04-06 23:19:24 +05:00
Yera All d959c2b2f0 Add voice name flow controls and analytics 2026-04-05 03:26:18 +05:00
Yera All 5374c202d9 Initial import with GitLab CI/CD and registry deploy flow 2026-04-02 17:05:45 +05:00