Commit Graph

2 Commits

Author SHA1 Message Date
alf d450b74760 test(conversations): verrouille le schéma NDJSON exact de l'app (schema:1)
Test dédié : _meta en 1ʳᵉ ligne skippée, tours à 10 clés (id int→str, role enum
PATIENT/KAZEIA, ttft_ms/total_ms/voice_used/model_used en null explicite acceptés).
Garantit qu'une dérive de schéma ne passe pas en silence.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 19:26:40 +02:00
alf afdf033f8f feat(medical): feature Conversations — rapatriement chiffré + export/purge (RGPD)
Cœur RGPD, débloqué par conversations_export/export_purge (RPC vc19).
- store : archived_sessions (liste), purge_turns (RGPD) ; réutilise turns/archive_turns.
- service.collect : conversations_export → adb pull NDJSON → archive chiffrée (dédup) →
  export_purge IMMÉDIAT (plaintext MVP côté app) ; sessions/session_turns/export_session/purge.
- router /api/conversations/{serial}/collect|{session_id}|/export|/purge ; enregistré.
- UI : section Conversations (rapatrier, sessions, lecture en bulles patient/kazeia,
  export JSON, purge RGPD par session).
- tests +5 (archive richtext ':'+\n déchiffrée, dédup, purge auto device, sessions, purge). 50/50.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 18:52:33 +02:00