Commit graph

9 commits

Author SHA1 Message Date
7a0cf0abb4 ci: pre-push-Hook + Installer für lokalen Test-Gate
scripts/git-hooks/pre-push lässt pytest vor jedem Push laufen und bricht
bei roten Tests ab — automatischer Regressionsschutz ohne Forgejo-Runner.
scripts/install-hooks.sh installiert die versionierten Hooks nach .git/hooks
(das selbst nicht versioniert ist). In DEPLOYMENT.md Teil 4.0 dokumentiert.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 00:58:09 +02:00
a6866a6e7f feat: UI-Hinweis bei Cartesia + nicht unterstützter Sprache
Wählt der Nutzer Cartesia und eine feste Sprache, die Cartesia nicht
spricht (AR/IT/RU/PL …), erscheint ein Hinweis, dass automatisch die
lokale Piper-Stimme verwendet wird. Macht den tts_fallback sichtbar,
statt lautlos eine andere Stimme zu liefern.

- /api/config liefert neu available.cartesia_unsupported_languages
  (Single Source of Truth: _UNSUPPORTED_LANGS aus cartesia.py).
- app.js zeigt/aktualisiert den Hinweis bei Sprach-/Provider-Wechsel.
- Test: /api/config listet die nicht unterstützten Sprachen.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 00:49:28 +02:00
304bc02a07 docs: tts_fallback = "piper" in TOML-Config dokumentieren
Der Cartesia→Piper-Fallback (IT/RU/AR/PL) funktioniert nur mit dieser
Einstellung. Da config/voice-assistant.toml gitignored ist, fehlte sie
sonst bei jedem Neu-Deployment und der Fallback wäre still tot.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 00:37:37 +02:00
3c549a05b1 test: Coverage für Gender-/Stimm-System + hermetische Suite
Schließt die Test-Lücken der Gender-/Stimm-Arbeit der letzten Tage:
- test_routing.py: voice_for_route über alle Sprachen × Geschlechter
  (inkl. ES Multi-Speaker #0/#1, "any"→weiblich, Gegengeschlecht-Fallback,
  AR/PT/ZH Einzelstimmen, unbekannte Sprache → None).
- test_piper_tts.py: _parse_speaker (#id) + Gender-Code-Auflösung in
  synthesize() + speaker_id-Durchreichung für Multi-Speaker.
- test_cartesia_tts.py (neu): Voice-Map-Parsing, _resolve_voice_id-Präzedenz,
  nicht unterstützte Sprachen, direkte-UUID-Durchreichung, Cartesia→Piper-Fallback.

Hermetik-Fix in conftest.py: Deployment-Fallback-Ketten (stt/llm/tts_fallback)
werden pro Test auf "" gesetzt. Vorher schlugen 3 WS-Streaming-Tests fehl, weil
llm_fallback="openrouter" aus der TOML durchsickerte und Stub-LLMs ohne stream()
auf den echten OpenRouter durchfielen ("OPENROUTER_API_KEY is empty").

Ergebnis: 213 passed (vorher 164 passed / 3 failed). DEPLOYMENT.md Teil 4.0
dokumentiert den Pflicht-Testlauf vor jedem Deploy.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 00:32:47 +02:00
20c0996a7d docs: Verifikationsdatum aktualisieren (2026-06-24)
Piper alle 10 Sprachen (DE/EN/FR/ES/IT/RU/PL ♂+♀, AR/PT/ZH) und
Cartesia DE/EN/FR/ES/PT/ZH vollständig getestet und verifiziert.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 23:27:47 +02:00
74c9147a0f docs: Abschnitt 2.4 auf download_voices.py umstellen
Primärer Installationsweg ist jetzt scripts/download_voices.py statt
manuellem wget-Loop. Manueller Fallback bleibt erhalten. Tabelle auf
16 Stimmen (AR, ZH, PT ergänzt) und Hinweise zu fehlenden Geschlechtern.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 23:23:48 +02:00
69990fb871 docs: Piper-Test auf AR, PT und ZH erweitern
Verifikationsabschnitt: Piper-Test deckt jetzt alle 10 Sprachen ab.
AR/PT/ZH haben kein Geschlechtspaar — liefern dieselbe Stimme für ♂+♀
(kareem, faber, huayan). Kommentare im Test machen das explizit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 23:16:59 +02:00
a66236993f docs: Cartesia-Test auf ZH und PT erweitern
Verifikationsabschnitt: Cartesia-Test deckt jetzt alle 6 unterstützten
Sprachpaare ab (DE/EN/FR/ES/PT/ZH je ♂+♀). ZH und PT erfolgreich getestet
(Hua/Kai, Isabella/Bruno).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 23:13:32 +02:00
5351710099 docs: Bedienungsanleitung und Deployment-Guide aktualisieren
- BEDIENUNGSANLEITUNG.md: neue Piper-Stimmen (DE/EN/FR/ES Geschlechtspaare,
  PT/PL/AR), Geschlechtspräferenz (♂/♀-Buttons) dokumentiert, NL durch
  PT/PL/AR ersetzt, Stimmtabelle auf 18 Einträge erweitert
- DEPLOYMENT.md: vollständiger jamulix-Deployment-Guide neu hinzugefügt
  (nginx, Authelia, Piper, Cartesia, Speaker-ID-Unterstützung, alle Änderungen
  gegenüber dem Upstream-Repo)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 22:43:59 +02:00