onju-v2/pipeline
justLV 44c7be03b8 Only persist assistant history after successful TTS delivery
Move the conversational backend's _finalize() call out of stream()'s
finally block and expose it as a public commit(text) method instead.
The previous behavior persisted whatever was yielded even when the
stream errored, the user interrupted, or a TTS send failed — so saved
history diverged from what the user actually heard, and the next turn
replayed phantom context to the LLM.

main.py now calls backend.commit(response_text) only after a turn
successfully completes and produced content. Agentic backend gets a
no-op commit() since history lives on the remote service.
2026-04-12 19:11:09 -07:00
..
conversation Only persist assistant history after successful TTS delivery 2026-04-12 19:11:09 -07:00
services Pre-publish fixes: local TTS key, multicast crash guard, doc drift 2026-04-12 19:09:58 -07:00
__init__.py Add modular async pipeline server and ESP32 mDNS fallback 2026-02-07 15:04:12 -08:00
audio.py End-of-speech protocol, LED tweaks, call-end guard 2026-04-07 16:41:59 -07:00
config.yaml.example Refine stall classifier prompt and group benchmark cases by label 2026-04-12 19:08:40 -07:00
device.py Stream agentic LLM responses, add contextual stall classifier, rename backends 2026-04-12 13:55:59 -07:00
main.py Only persist assistant history after successful TTS delivery 2026-04-12 19:11:09 -07:00
protocol.py Simplify device state model, reduce TCP churn, fix multi-device identity 2026-04-09 13:32:23 -07:00
vad.py Replace webrtcvad with Silero VAD (ONNX, no PyTorch) 2026-02-07 17:00:02 -08:00