MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1
Demo150 — Shared Facts
Injection is manual.
Objectives
- Share controlled facts with provenance and an explicit forgetting lifecycle.
Prepare the demo
Start at the root of the complete distribution built in Release. Shared projects Maf.Memory and Maf.DemoConnection are required. Answers use live chat without embeddings. Local read, reset, forget and save commands need no generated answer. Demo170 calls chat directly for its comparison.
| Project | Role |
|---|---|
| demos/Demo150_SharedFacts/Demo150.App.csproj | App |
| shared/Maf.Memory/Maf.Memory.csproj | Shared implementation |
| shared/Maf.DemoConnection/Maf.DemoConnection.csproj | Connection |
Launch from the root
dotnet run --project demos/Demo150_SharedFacts/Demo150.App.csproj -c Release --no-buildModes and procedure
Enter module=Reporting; database=PostgreSQL, mem, then module=Billing; database=SQL Server 2022, mem, Where can I find logs?, mem, forget module, mem, forget, mem, quit.
var declarations = ExplicitAssertions.Parse(userText);
if (response.Result.Facts is null || response.Result.Facts.Count != declarations.Count
|| response.Result.Facts.Any(f => f is null || !declarations.TryGetValue(f.Key, out var value) || value != f.Value))
throw new InvalidDataException("Extraction does not match the explicit key=value assertions. No semantic guess is admitted.");
memory.Apply(turn, response.Result.Facts, DateTimeOffset.UtcNow);
Results and useful failures
Injection is manual. where/how/logs routing uses KnowledgeAgent and other messages use BacklogAgent. Both share facts, not sessions. Check provenance and key replacement, not only generated answers.
These observations are expected from inspecting the linked public code revision. The site lot separately reruns deterministic tests: it does not present an unmeasured generated answer or provider score as observed output.
Persistence and limits
Facts in Demo150/160 and the Demo170 comparison stay in-process. Demo130 retains SQLite context only; Demo140 retains its JSON snapshot. Forgetting one session does not purge other stores or backups. Admission errors remain visible without fallback. Scripted tests alone qualify no model.
dotnet test tests/Maf.Memory.Tests/Maf.Memory.Tests.csproj -m:1 -c Release --no-build --no-restore