my_voice_assistant_v3_jamulix/tests
dschlueter b70d6f364a feat: schedule_hours-Backstop, zentrale Datum/Uhrzeit, Filler-Timing
1) schedule_hours-Nudge: search_backstop erkennt jetzt auch Oeffnungszeiten,
   "hat X geoeffnet", Notdienst und Fahrplaene/naechste Abfahrt (de/en/nl/fr) und
   erzwingt dafuer die Suche. +6 Offline-Tests.

2) Zentrale Datum-/Uhrzeit-Auskunft (app/core/clock.py, now_context()): jedes
   Modul kann das aktuelle Datum + Uhrzeit (lokale TZ, Wochentag) erfragen.
   In die System-Prompts aller antwortenden LLMs injiziert (ToolCallingLLM,
   OpenRouter, lokal) -> relative Zeitangaben ("heute", "morgen", "in 3 Stunden",
   "naechsten Montag") werden aufgeloest. Live: "Welcher Wochentag/Datum?" ->
   korrekt OHNE Web-Suche.

3) Filler-Timing: Mindestabstand 10 s zwischen Opening und Geduldssaetzen
   (FILLER_PATIENCE_INTERVAL 4->10). Sobald die Antwort vorliegt, wird ein
   anstehender Filler/Geduldssatz NICHT mehr ausgegeben (answer_started-Gate).

Tests: 318 gruen. Doc §5.4/§5.7/§8.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 00:43:08 +02:00
..
conftest.py test: Coverage für Gender-/Stimm-System + hermetische Suite 2026-06-25 00:32:47 +02:00
test_admin_app_login.py feat(auth): Passwort-Login (1FA) für die App; Admin ebenfalls 1FA 2026-06-26 19:04:37 +02:00
test_admin_llm_status.py feat(admin): Backend-Wechsel + Gateway-Neustart aus dem Admin-Panel — Plan-Schritt 3 2026-06-20 18:39:59 +02:00
test_admin_prefs_validation.py feat(admin): serverseitige Pydantic-Validatoren für Notfall-Profilfelder 2026-06-25 18:24:33 +02:00
test_admin_settings.py feat(3c): OpenRouter-Modelle live & selbst-aktualisierend statt erfunden 2026-06-25 05:01:05 +02:00
test_audio_router.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
test_audit.py refactor(ui): Geräte-STT entfernt + Menü-Redesign (schlanke Kopfzeile + ⋮-Sheet) 2026-06-20 22:26:20 +02:00
test_auth.py fix(tts): voice_gender im UserPrefs-Schema -> Stimmwahl wirkt endlich 2026-06-27 03:13:27 +02:00
test_basic_layout.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
test_capabilities.py release(v0.2.0): Marke „Alexis" + sichtbare Versionsnummer 2026-06-27 07:02:02 +02:00
test_capability_login.py feat(2-Schritt2): Login-Link + persistentes is_admin-Flag pro Nutzer 2026-06-25 04:33:33 +02:00
test_cartesia_tts.py test: Coverage für Gender-/Stimm-System + hermetische Suite 2026-06-25 00:32:47 +02:00
test_chatterbox_tts.py feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
test_config_profiles.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
test_cookie_auth.py feat(auth): Forward-Auth via JWT-Cookie (YunoHost yunohost.portal) 2026-06-18 08:44:33 +02:00
test_emergency_bridge.py refactor: Notruf-Bridge nutzt seven-send-Library statt eigenem seven.io-Code 2026-06-25 11:50:05 +02:00
test_emergency_cooldown.py fix(notruf): ehrlicher Status, wenn niemand verständigt werden kann 2026-06-27 16:50:03 +02:00
test_emergency_enrichment.py feat(notruf): Wiederauslöse-Sperre + grüner Hinweis; "Neues Gespräch" in die Kopfzeile 2026-06-26 15:58:17 +02:00
test_endpoints_e2e.py feat: UI-Hinweis bei Cartesia + nicht unterstützter Sprache 2026-06-25 00:49:28 +02:00
test_forward_auth.py release(v0.2.0): Marke „Alexis" + sichtbare Versionsnummer 2026-06-27 07:02:02 +02:00
test_local_llm_messages.py feat: schedule_hours-Backstop, zentrale Datum/Uhrzeit, Filler-Timing 2026-06-30 00:43:08 +02:00
test_logging_config.py fix: App-Logger sichtbar machen (Notruf-Diagnose im Log) 2026-06-25 19:03:54 +02:00
test_memory.py feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
test_memory_extraction.py fix(llm): LLM antwortet jetzt in der konfigurierten Systemsprache 2026-06-19 14:12:16 +02:00
test_model_presets.py feat(admin): Dropdown „Zentrales KI-Modell" — erprobte Presets ruck-zuck umstellen 2026-06-26 20:02:44 +02:00
test_openrouter_tts.py fix(tts): OpenRouter-TTS bei transient leerer/5xx-Antwort wiederholen 2026-06-18 00:06:47 +02:00
test_piper_tts.py test: Coverage für Gender-/Stimm-System + hermetische Suite 2026-06-25 00:32:47 +02:00
test_quota_safety.py fix(notruf): ehrlicher Status, wenn niemand verständigt werden kann 2026-06-27 16:50:03 +02:00
test_realtime.py feat(P3): Diktat in Fremdsprache → Übersetzung in die Zielsprache 2026-06-25 03:30:37 +02:00
test_resilience.py feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
test_routing.py fix(tts): Geräte-TTS-Regression für Sprachen ohne Geschlechtsstimme beheben 2026-06-28 16:15:04 +02:00
test_search_backstop.py feat: schedule_hours-Backstop, zentrale Datum/Uhrzeit, Filler-Timing 2026-06-30 00:43:08 +02:00
test_streaming.py feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
test_stt_quality.py feat(stt): bessere Spracherkennung — small-Modell, VAD, feste Sprache 2026-06-25 19:36:17 +02:00
test_tts_normalizer.py feat(tts): Aussprache-Lexikon befüllt (verifizierte Vokallängen-Fixes) + case-insensitiv 2026-06-17 23:19:17 +02:00
test_warmup.py feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
test_ws.py feat(stt): bessere Spracherkennung — small-Modell, VAD, feste Sprache 2026-06-25 19:36:17 +02:00