feat(t1-live): examinateur avec interruption probabiliste pilotee backend (Sprint 7a)

- Session T1 Live : monologue candidat + interruptions pilotees backend (VAD manuel).
- Voix examinateur native Gemini ; le backend decide le timing (tirage probabiliste 0-2, fenetre [25s,75s]), Gemini formule la relance sur signal d'injection (anti-TD-22).
- Injection : activityEnd -> clientContent -> activityStart ; signaux WS interruption_start/end.
- Fin de session : activityEnd final flushe le dernier segment candidat ; relance terminale coupee (audio non renvoye, texte jete) ; seul le texte candidat conserve pour l'evaluation.
- buildT1SystemPrompt : nouvel artefact, regle 7 du T2 NON propagee (questions autorisees).
- Route /t1/live : auth Premium reutilisee, contexte questionnaire dynamique, persistance EO_T1 (sujet_id null), evaluation via correctEO('EO_T1'), phonologie stub /4 (TD-08 gele).
- geminiLive.ts : exports additifs + buildSetupFrame parametrable VAD (T2 inchange).
- gitignore : exclusion des artefacts jetables de test/spike.
This commit is contained in:
Hermann_Kitio 2026-06-29 22:07:57 +03:00
parent 5f7e52d88a
commit 868bd09397
7 changed files with 1404 additions and 17 deletions

7
.gitignore vendored
View file

@ -3,3 +3,10 @@ dist
.env
.env.local
.claude/
# Artefacts jetables de test/spike T1 Live (non versionnés)
scripts/t1-spike.mjs
scripts/check-sujet-nullable.mjs
scripts/t1-route-test.mjs
*.pcm
candidat-*.wav