<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MAF V1: Python and .NET on Nitin Kumar Singh</title><link>https://nitinksingh.com/series/maf-v1-python-and-.net/</link><description>Recent content in MAF V1: Python and .NET on Nitin Kumar Singh</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Nitin Kumar Singh. All rights reserved.</copyright><lastBuildDate>Sun, 10 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://nitinksingh.com/series/maf-v1-python-and-.net/index.xml" rel="self" type="application/rss+xml"/><item><title>MAF v1 — Deployment with Docker and Compose</title><link>https://nitinksingh.com/posts/maf-v1-25-deployment/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-25-deployment/</guid><description>Package the agent stack with one multi-target Dockerfile, one Compose file, and a dev.sh script with health gates locally.</description></item><item><title>MAF v1 — Prompt engineering (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-24-prompt-engineering/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-24-prompt-engineering/</guid><description>Structure prompts around identity, grounding, task rules, role context, and YAML composition so agents stay consistent over time.</description></item><item><title>MAF v1 — E-commerce repo guided tour (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-21-putting-it-all-together/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-21-putting-it-all-together/</guid><description>Every MAF concept from the prior chapters, mapped to the exact file and line where it lives in the live e-commerce repo.</description></item><item><title>MAF v1 — Evaluation framework (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-23-evaluation-framework/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-23-evaluation-framework/</guid><description>Build an eval pipeline with golden datasets, scoring, smoke/full modes, and CI gates to catch prompt regressions before release.</description></item><item><title>MAF v1 — Python ↔ .NET asymmetries: a porting reference</title><link>https://nitinksingh.com/posts/maf-v1-22-python-dotnet-asymmetries/</link><pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-22-python-dotnet-asymmetries/</guid><description>Compare the six Python and .NET MAF API differences you will hit when porting samples, from constructors to workflow wiring.</description></item><item><title>MAF v1 — DevUI for agents and workflows (Python)</title><link>https://nitinksingh.com/posts/maf-v1-20b-devui/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-20b-devui/</guid><description>Run MAF DevUI locally to test prompts, inspect tool calls and OTel spans, and register agents by code or directory discovery.</description></item><item><title>MAF v1 — Production hardening (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-20c-production-hardening/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-20c-production-hardening/</guid><description>Add HTTP-layer production patterns for password reset, refresh-token rotation, reuse detection, and secret rotation in APIs.</description></item><item><title>MAF v1 — Workflow Visualization (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-20-visualization/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-20-visualization/</guid><description>Render any workflow as Mermaid (GitHub-friendly) or Graphviz DOT (production runbooks). One line each, deterministic output, dark-mode-safe palette.</description></item><item><title>MAF v1 — Declarative Workflows (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-19-declarative-workflows/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-19-declarative-workflows/</guid><description>Define a workflow in YAML, load it at runtime, and tweak orchestration without recompiling the Python or .NET app safely.</description></item><item><title>MAF v1 — Human-in-the-Loop (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-17-human-in-the-loop/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-17-human-in-the-loop/</guid><description>Pause a workflow for human input, resume it with the same request_id, and keep the caller-side contract simple across runs.</description></item><item><title>MAF v1 — State and Checkpoints (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-18-state-and-checkpoints/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-18-state-and-checkpoints/</guid><description>Persist workflow state at superstep boundaries, reload snapshots in a fresh process, and continue without losing progress.</description></item><item><title>MAF v1 — Group Chat Orchestration (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-15-group-chat-orchestration/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-15-group-chat-orchestration/</guid><description>Use a centralized manager to pick speakers each round, compare round-robin and agent-driven strategies, and cap runaway loops.</description></item><item><title>MAF v1 — Handoff Orchestration (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-14-handoff-orchestration/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-14-handoff-orchestration/</guid><description>Let a Triage agent route the conversation to Math or History specialists, handle handbacks, and guard against loops in production.</description></item><item><title>MAF v1 — Magentic Orchestration (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-16-magentic-orchestration/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-16-magentic-orchestration/</guid><description>Use Magentic orchestration for autonomous planning: a manager keeps facts, delegates to workers, reassesses, and replans when stuck.</description></item><item><title>MAF v1 — Agents in Workflows (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-11-agents-in-workflows/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-11-agents-in-workflows/</guid><description>Wrap a ChatClientAgent as a workflow executor, chain two translators, and hide adapter plumbing behind AgentWorkflowBuilder.</description></item><item><title>MAF v1 — Concurrent Orchestration (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-13-concurrent-orchestration/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-13-concurrent-orchestration/</guid><description>Fan one input out to an expert panel, aggregate the responses, and keep wall-clock time bounded by the slowest branch cleanly.</description></item><item><title>MAF v1 — Sequential Orchestration (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-12-sequential-orchestration/</link><pubDate>Sat, 25 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-12-sequential-orchestration/</guid><description>Use SequentialBuilder or BuildSequential to pass one conversation through Writer, Reviewer, and Finalizer agents without hand-built adapters.</description></item><item><title>MAF v1 — MCP Tools (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-08-mcp-tools/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-08-mcp-tools/</guid><description>Stand up a Python MCP server and consume it from Python and .NET MAF agents, including discovery and AITool wiring from one server.</description></item><item><title>MAF v1 — Workflow Events and Builder (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-10-workflow-events-and-builder/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-10-workflow-events-and-builder/</guid><description>Two kinds of workflow events — lifecycle and custom. Subscribe to the stream in Python and .NET, filter by type, and wire a live progress indicator.</description></item><item><title>MAF v1 — Workflow Executors and Edges (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-09-workflow-executors-and-edges/</link><pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-09-workflow-executors-and-edges/</guid><description>Model deterministic workflows with executors as nodes, edges as routes, and a Pregel-style scheduler in Python and .NET.</description></item><item><title>MAF v1 — Context Providers (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-05-context-providers/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-05-context-providers/</guid><description>Add per-request context with focused providers, compose them before each LLM call, and plug in TextSearchProvider for simple RAG.</description></item><item><title>MAF v1 — Middleware and the Agent Pipeline (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-06-middleware/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-06-middleware/</guid><description>Use middleware to wrap agent runs, intercept tool calls, and redact PII before the LLM sees it in both Python and .NET safely.</description></item><item><title>MAF v1 — Observability with OpenTelemetry (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-07-observability-otel/</link><pubDate>Sat, 18 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-07-observability-otel/</guid><description>Wire OpenTelemetry spans for agent runs with GenAI attributes, using console export for dev and OTLP for production tracing.</description></item><item><title>MAF v1 — Sessions (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-04-sessions/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-04-sessions/</guid><description>Serialize an AgentSession to JSON, persist it, reload in a fresh process, and have the agent pick up exactly where it left off.</description></item><item><title>MAF v1 — Streaming and Multi-turn (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-03-streaming-and-multiturn/</link><pubDate>Sun, 12 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-03-streaming-and-multiturn/</guid><description>Stream tokens as they arrive and reuse a session across turns so the LLM sees the full conversation. ~60 lines of code per language.</description></item><item><title>MAF v1 — Adding Tools (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-02-add-tools/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-02-add-tools/</guid><description>Give an agent a callable function, let the LLM decide when to use it, and compare Python and .NET tool loops side by side.</description></item><item><title>MAF v1 — Setup your dev environment (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-00-setup/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-00-setup/</guid><description>Install uv, .NET 9, Docker, OpenAI keys, and a verify script so Chapter 1 starts with both Python and .NET environments ready.</description></item><item><title>MAF v1 — Your First Agent (Python + .NET)</title><link>https://nitinksingh.com/posts/maf-v1-01-first-agent/</link><pubDate>Sat, 11 Apr 2026 00:00:00 +0000</pubDate><guid>https://nitinksingh.com/posts/maf-v1-01-first-agent/</guid><description>Build the smallest useful Microsoft Agent Framework program: one LLM call, one response, and the same shape in Python and .NET.</description></item></channel></rss>