e-naxosMAF COURSE / COURS
Français

MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1

Demo300 — External Request

RequestPort and SendResponseAsync are real; the external party is simulated by the immediate CLI decision. approve yields Completed with StoredItem, reject no item, maybe fails. Each launch creates a fresh operation and temporary database.

Objectives

Prepare the program

No model, embeddings, container or secret required. Start at the root of the complete distribution. Preserve shared projects and configuration files. Some historical prompts and labels in Demo260–290 remain French in public code; commands and identifiers match this revision.

dotnet build BaseTechnique.slnx -m:1 -c Release
Required projects
ProjectRole
demos/Demo300_ExternalRequest/Demo300.App.csprojApp
shared/Maf.Durable/Maf.Durable.csprojShared implementation

Commands from the root

dotnet run --project demos/Demo300_ExternalRequest/Demo300.App.csproj -c Release --no-build -- approve

Procedures and variants

Run approve, reject then maybe as separate invocations. Record printed identities and states.

var prepare = new Prepare(store);
var port = RequestPort.Create<ApprovalTicket, ApprovalDecision>("BusinessApprovalV1");
var apply = new Apply(store, failAfterWrite);
return new WorkflowBuilder(prepare).AddEdge(prepare, port).AddEdge(port, apply)
    .WithOutputFrom(apply).Build();

shared/Maf.Durable/ApprovalWorkflow.cs · L20–L24 · 9a895c94534c

Source code · Maf.Durable · Folder

What must be observable

RequestPort and SendResponseAsync are real; the external party is simulated by the immediate CLI decision. approve yields Completed with StoredItem, reject no item, maybe fails. Each launch creates a fresh operation and temporary database.

These results are expected from the linked code. Checks actually rerun for this lot are distinguished in exercises and reception; no unmeasured live output is presented as observed.

Limits and retained state

Demo300 responds in the live process; Demo310 retains its manager in memory; only Demo320 stores file checkpoints for another-process recovery. SQLite exists in all three variants. Local row uniqueness, no distributed exactly-once. The CLI trusts its operator without reviewer authentication.

dotnet test tests/Maf.Durable.Tests/Maf.Durable.Tests.csproj -m:1 -c Release --no-build --no-restore

Contracts and prerequisites

Prerequisites

Continue reading

Complete demo folder · README

lot009-workflows-1 · 2026-10-24 · 9a895c94534cd5fc6f3da883e37e5f7856e588c1