La porte d’entrée vérifie qui appelle

Avant de joindre le produit VoiceBot, Navy Phone vérifie la session et ne lui transmet jamais le justificatif reçu du navigateur.

P0 corrigé localement

Ce qui est prouvé

Les 11 routes VoiceBot utilisent la même garde. Une session absente, expirée ou restreinte reçoit 401. Une panne du registre de sessions reçoit 503 sans créer d’accès machine ni contacter le VoiceBot. Les 17 tests ciblés passent dans 4 fichiers.

Limite

Ce que cela ne prouve pas

L’identité machine, sa rotation, le réseau privé et l’endpoint VoiceBot ne sont pas opérés en production. Les filtres et la limite de taille testés localement ne remplacent pas une recette déployée. Voir la fiche d’architecture et de preuve de l’API.

Voir le contrôle technique

getSession précède token et fetch. En sortie, seuls accept, content-type, x-request-id et l’Authorization machine locale sont admis. En retour, seuls content-type, retry-after et x-request-id sont admis. Cookie, headers de forwarding, x-real-ip, x-organization-id, Set-Cookie, Authorization et Location sont bloqués. Le corps est lu en streaming avec une limite de 1 MiB, même sans Content-Length. Le test inventorie les 11 chemins, vérifie force-dynamic et invoque les 12 handlers.

Conserver le fil humain

L’orchestrateur interprète l’intention avant d’avancer le protocole. Les comportements ci-dessous sont testés dans le produit séparé, pas avec des humains.

Parole de l’appelantRéaction attendueÉtat conservéStatut
« Attendez », « Wacht », « Hold on »Confirmer brièvement et suspendre, sans poser une nouvelle question.Position du protocole et faits déjà validés. Un danger vital identifié reste prioritaire.Comportement multilingue testé; expérience humaine à valider.
Gaz, inondation, Seveso ou incendie pendant l’outreachInterrompre immédiatement le questionnaire canicule et traiter le nouveau danger.Si danger et vital coexistent, choisir le protocole danger univoque; sinon donner une consigne générale prudente.Hazard routing testé; terrain humain absent.
CorrectionReformuler ce qui change, invalider le fait précédent et demander confirmation si critique.Nouvelle révision; ancien prepared-turn non commité.Contrat CAS et garde.
Interruption / nouvel ordreStopper la restitution, traiter le nouvel ordre puis reprendre seulement si pertinent.interrupted_previous_assistant traverse bridge, SDK, API, runtime et moteur.Propagation logicielle testée; arrêt acoustique humain absent.
DigressionRépondre dans le périmètre autorisé, puis proposer de revenir au point suspendu.Pile de contexte bornée et provenance.Comportement produit à évaluer.
RepriseRappeler brièvement le point courant et continuer après accord.Révision courante, jamais le texte LLM seul.Contrat produit.
Settlement explicite

Pas de faux crash sur annulation

Un tour devient committed, cancelled ou failed. Une annulation confirmée garde la connexion ouverte. Un cancelled+replayed adopte la révision récente sans valider l’ancienne réponse.

Prudence

L’inconnu reste bloqué

Une confirmation refusée, une exception ou un résultat indéterminé devient failed. Le système ne suppose jamais que la personne a entendu la réponse.

Voir les délais et les preuves de ce cycle

Prepare fetch annulable: 6 s par défaut, borne 0,5 à 15 s. ACK: 3 s par défaut, borne 0,25 à 10 s. Produit séparé: 31 pass + 1 skipped, puis 344 pass + 3 skipped sur 347 tests, typecheck vert. Gate sécurité courante: 84 fichiers et 974 tests verts; 128 sources et 19 sources média verrouillées.

Liberté conversationnelle, déterminisme ciblé

Le LLM propose; la garde et VoiceBot décident le métier; Navy Phone contrôle téléphonie, média, playback et handoff.

Conversation

Formulation flexible

Salutations, reformulations, demandes d’attente, clarifications et transitions peuvent garder une voix naturelle, sous contexte et provenance bornés.

Zone critique

Décision déterministe

Identité, urgence, consentement, engagement, transfert, données sensibles et actions externes exigent règles, validation explicite et fail-closed.

Handoff et limites

Le produit conversationnel ne doit jamais bloquer le socle téléphonique.

Déclenchement

Demande humaine, ambiguïté critique, panne STT/LLM/TTS, conflit d’état ou limite de protocole.

Contexte transmis

Résumé factuel validé, état du protocole et raison du transfert, sans transcript inutile.

Autorité Navy Phone

File, bridge, playback, transfert et fin d’appel restent disponibles si VoiceBot disparaît.

Non prouvé

Qualité humaine

Interruptions réelles, accents, bruit, émotions, longues digressions et reprise après panne nécessitent des simulations et pilotes.