MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1
Fidélité du flux et sessions
Vérifier espaces, terminal de flux, isolation et reprise des sessions sur le backend partagé.
Objectifs
- Utiliser cette page pour comprendre : Fidélité du flux et sessions.
Préparer backend, clients et état
Prérequis : Demo130, Demo400 et Demo410. Fichiers de travail : Demo410/Backend, Client, Console, Web et Wpf ; tests/Streaming.Tests. Copier la distribution complète. Les tests utilisent un client modèle scripté ; la manipulation interactive demande le chat réel et le serveur MCP précompilé. WPF exige Windows et suit MVVM Toolkit.
Reprendre sans confondre affichage et mémoire
Suivre les commandes backend et clients de Demo410 dans des terminaux séparés. Employer un répertoire d’état isolé et conserver son chemin. Envoyer BLUE-731 dans un tour réussi, vider uniquement l’affichage, puis demander le marqueur avec le même identifiant. Recommencer avec un identifiant neuf. Redémarrer le backend avec le même répertoire puis réutiliser l’identifiant initial.
dotnet test tests/Streaming.Tests/Streaming.Tests.csproj -m:1 -c Release --no-build --no-restoreObserver les octets et le terminal
Les cas contrôlés préservent espaces, tabulations, retours ligne et Unicode, même si une ligne NDJSON est fragmentée entre lectures. Seule la trame completed confirme génération et sauvegarde. EOF sans terminal reste tronqué. Annuler avant commit conserve le dernier snapshot réussi ; perdre la connexion après commit peut laisser une complétion non confirmée. Une réponse modèle ne prouve pas l’isolation : lire les assertions et fichiers de session.
Distinguer quatre frontières
Paquet HTTP, lecture réseau, trame NDJSON et token sont différents. Comparer le texte recomposé aux fragments connus du test, pas à une paraphrase produite par un modèle. Vérifier le décodeur UTF-8 incrémental et la ligne partielle à EOF. Un 409 signale le verrou global de génération, sans file d’attente cachée.
Correction sans masquer le flux
La correction repose sur Streaming.Tests : conservation des caractères, terminaison explicite, annulation avant commit et rejet des requêtes concurrentes. Dans votre compte rendu, séparer résultats des tests, observation interactive et conclusion métier. Ne pas relancer automatiquement une requête dont l’acquittement a été perdu.
Réserves de l’interface
L’identifiant de session n’est pas une authentification. Effacer l’historique du client n’efface pas tous les snapshots. La recette graphique WPF et la qualité de rappel du modèle restent distinctes des tests du protocole. Aucun exactly-once des tours HTTP n’est promis.
