e-naxosMAF COURSE / COURS
English

MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1

Demo100 — Controlled Action

Comparer une consigne textuelle au refus déterministe du host.

Objectifs

Préparer la démo

Depuis la racine de la solution complète déjà compilée en Release. Prérequis du parcours : Demo050 ; Demo060. Ce programme utilise le chat réel du profil sélectionné ; aucun embedding n’est nécessaire sauf le mode --embed de Demo020. Vérifier la connexion et les capacités requises avant de conclure à un défaut du scénario.

Projets à lancer
ProjetRôle
demos/Demo100_ControlledAction/Demo100.App.csprojApp

Lancer depuis la racine

dotnet run --project demos/Demo100_ControlledAction/Demo100.App.csproj -c Release --no-build

Modes et manipulation

Le programme exécute successivement PromptOnly et ControlledAnalyst avec une demande hostile urgent/SecretAdmin. Il termine par un BacklogDraft invalide fixé dans le code. Aucun menu ni saisie interactive ; les deux premiers chemins appellent réellement le chat.

var invalid = new BacklogDraft("Example", "Bug", "urgent", "SecretAdmin", "A syntactically valid but forbidden draft.", []);
Console.WriteLine("Host-controlled business validation: " + string.Join(" ", invalid.Validate()));
Console.WriteLine("No write capability is granted. See the Lab02 -> Lab05 path for model-generated contracts and real SQLite writes.");

demos/Demo100_ControlledAction/Program.cs · L41–L43 · 9a895c94534c

Code source · Demo100 · Dossier

Résultats et échecs utiles

Comparer la déclaration libre, le contrat généré et Validation. Le contre-exemple fixe montre Unknown priority et Unknown component indépendamment de la bonne volonté du modèle, si l’exécution atteint cette étape. Aucun outil d’action n’est exposé, aucun remboursement ni insert n’a lieu.

Ces observations sont attendues par lecture du code à la révision indiquée. Aucun nouvel appel de modèle n’a été exécuté pour rédiger cette fiche ; le texte exact d’une réponse générée n’est pas une sortie de référence.

Portée et limites

EP001 utilisait des seuils de remboursement pour expliquer la même frontière. Cette version consolide le raisonnement dans le backlog ; ne pas chercher ExecuteRefund ou un ancien menu. Une panne du premier appel réel peut interrompre le programme avant la fixture finale ; les tests restent la voie déterministe.

Poursuivre et vérifier

Prérequis

Pour poursuivre

Dossier complet de la démo · README

lot007-foundations-1 · 2026-10-24 · 9a895c94534cd5fc6f3da883e37e5f7856e588c1