MICROSOFT AGENT FRAMEWORK · 0.16.0-rc.1
Production limits and review
Relate taught capabilities to their evidence and prepare decisions that remain product-specific.
Objectives
- Review existing controls
- Unproven authentication and operations
- Qualification limits and outstanding decisions
Turn the demonstration into a project decision
A POC reduces uncertainty: can available documents support useful assistance and can an operator control its effect? An operated application must also withstand changes in data, permissions, prompts and load. EP018 and the J2 summaries invite these questions. Here each answer must name a mechanism, evidence and limit; displaying a checked question builds no control.
Read the taught-capability grid
| Mechanism | Scope |
|---|---|
| Contract and tools | Validate and host tests; define real domain rules and server permissions |
| Corpus and citation | Eligibility and exact quotation; govern sources, updates and real data |
| Approval and resumption | Checkpoint + unique SQLite key; choose approver identity and transaction scope |
| Harness | Bounded loops and cancellation; define shared quotas and load behavior |
| Traces and journal | Restricted export and local transaction; define retention, access and monitoring |
| Evaluation | Fixtures and strict gates; obtain independent annotation and qualify the actual profile |
These families complement each other. Typed output must still satisfy domain rules. Approval authorizes a precise proposal without certifying its truth. An observed tool call does not establish persistence. Conversation history is not governed factual memory. A C# sequence or JSON plan is not automatically a native MAF graph. SQLite and SQL Server share an ADO.NET approach without sharing all operational guarantees.
Require evidence for unimplemented controls
Console.WriteLine("Production review checklist - educational scope");
Console.WriteLine("A checklist does not implement or certify these controls.");
foreach (string question in new[]
{
"Is the business contract validated by host code?",
"Does the host bind approval to the exact proposal?",
"Are evidence eligibility and citations checked before action?",
"Does a restart preserve the pending decision and prevent duplicate effects?",
"Are permissions, budgets, cancellation and failure paths exercised?",
"Are safe traces distinct from committed business records?",
"Is the exact model/provider profile qualified on the intended workload?",
"Have authentication, deployment, backups and operational recovery been designed?"
})
Console.WriteLine("Review: " + question);
Console.WriteLine("Start with docs/lot-015/Guide.md and AuditClosure.md in the canonical distribution.");
Source code · Demo490 · Folder
| Mechanism | Scope |
|---|---|
| Authentication and authorization | Identities, revocation, approver and server checks; denied-access tests |
| Tenant isolation | Operation, index and file ownership; cross-tenant read/write tests |
| Backup and recovery | Consistent business/checkpoint copies, secrets and versions; exercised restore with loss/time objectives |
| Availability and load | Topology, concurrency, capacity, failure and alerts; representative load tests |
| Remote effects | Idempotency keys, outbox/compensation as needed; interruption tests between systems |
| Maintenance and privacy | Migrations, versions, deployment/rollback, access and erasure; actually executed procedures |
Demo490 does not deliver these controls. Its entire program prints eight questions and an educational notice without a model, database or server. The generic README mentions optional live modes; Program.cs exposes none for this demo. Demo470’s file lock coordinates one host rather than a cluster. Its editable files are neither signed nor tamper-proof. Demo410’s ASP.NET Core backend and Web/WPF clients remain separate from console approval.
Prepare an evidence-based review
For each selected capability record the risk, decision owner, proposed mechanism, expected failure test and acceptance criterion. Distinguish code inspection, executed fixture, dated live call, independent domain validation and operational exercise. Success in one category does not satisfy the others. Start with a useful bounded case; when a deterministic rule suffices, retain code and assess avoided complexity.
Version contract, corpus/index, graph, prompts, references and relevant configuration together. Before changing the graph decide how to handle Waiting requests from the old version. Replaying a decision under the same key does not validate a schema migration or backup restore. Regression tests cover controlled rules; a new model campaign must retain failures and calibrate its judge rather than fit expectations to outputs.
Revisit the course technical extensions
For sessions test save/load/newsession, version the format and decide how to fail when restoration is impossible. Distinguish AgentSession serialization from text reconstruction. For memory choose a context representation and validate updates through the provider; define fact and session lifecycles together. Any distributed store needs additional concurrency and provenance rules.
For RAG retain stable document/chunk IDs and a model, dimension and metric manifest. Incremental indexing with recovery remains an extension to design. Tune thresholds and top-k against documented cases; choose explicit context, provider or tool according to when retrieval is needed. Bound tools with cancellation, duration and verifiable results. Course vector storage remains SQLite with exact cosine.
For plans ResponseFormat can constrain generation without validating domain order, consistency or critical steps. Compile and reuse the schema where appropriate, bound retries and execute only validated plans. Native workflows in the renovated path supersede the old “no native graph shown” reservation; handoff and open concurrency remain distinct. Future centralized telemetry export must preserve the restricted projection and minimization policy rather than reintroducing requests and secrets through tags.
What you can now connect
At the start the question was whether to use a function or an agent. You can now follow data from an eligible source to a business row while naming each boundary: transport configuration, contract, permitted tool, context, evidence, proposal, decision and commit. Demo470 lets you leave the process midway and distinguish waiting, rejection and an actually present effect. This analytical skill remains useful when the model or interface changes.
Next apply these distinctions to a real process and seek cases that challenge the guarantees. Keep proposals readable to operators, refusals explainable and storage evidence independent of generated prose. Measurement must cover the whole chain including auxiliary calls and lost quality. The course provides local mechanisms and reproducible experiments; product qualification remains a decision supported by your data, permissions and operations.
Choose a verifiable extension
After Demo470 explore Demo480 to compare routing and baseline, then Demo490 to build your decision grid. For fan-out/fan-in design joining, cancellation and partial failure before adding concurrency. For handoff or group conversation define ownership, visibility and termination. The bounded harness does not deliver an open-ended multi-agent planner. These additional orchestrations remain future implementation work.
The course distributes no skill loader, A2A protocol or remote-agent hosting. A skill needs provenance, admission rules and bounded rights; its text cannot grant itself permissions. Extending MCP over a network requires server identity, authorization and transport protection. A compatible API or new provider requires its own qualification. For an interface start from Demo410 contracts and WPF MVVM Toolkit, then perform missing graphical acceptance and operational checks.
Reservations still open
The default granite4:3b candidate/judge profile remains unqualified. Independent human validation of domain references remains unestablished. Interactive WPF acceptance, availability, tenant isolation and production backup are not established by this synthesis. Text and visual rights remain separate from the unpublished MIT code candidate. No course page constitutes production certification.
