<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Pratik Dhanave — Blog</title>
    <link>https://pratikdhanave.com/blog/</link>
    <description>Long-form writing on multi-agent AI, medical AI governance, HIPAA-aware architecture, and cloud-native systems.</description>
    <language>en</language>
    <lastBuildDate>Sun, 07 Jun 2026 09:55:47 +0000</lastBuildDate>
    <atom:link href="https://pratikdhanave.com/blog/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Lessons from Converting 18 Agents in 90 Days</title>
      <link>https://pratikdhanave.com/blog/posts/adk-to-maf-lessons.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/adk-to-maf-lessons.html</guid>
      <pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate>
      <description>What worked, what was hard, and what we'd do differently. Real numbers: 18 agents, 90 days, 5 governance policies, 4 provider swaps.</description>
      <category>ADK</category>
      <category>MARA</category>
      <category>Case Study</category>
      <category>Lessons Learned</category>
    </item>
    <item>
      <title>Deployment &amp; A2A: From ADK's Web Deploy to MAF's Scalable Architecture</title>
      <link>https://pratikdhanave.com/blog/posts/adk-to-maf-deployment.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/adk-to-maf-deployment.html</guid>
      <pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate>
      <description>Cloud Run deployments, agent-to-agent communication, load balancing, and production observability.</description>
      <category>ADK</category>
      <category>MARA</category>
      <category>Deployment</category>
      <category>Cloud Run</category>
      <category>A2A</category>
    </item>
    <item>
      <title>Callbacks and Middleware: Porting ADK Hooks to MAF's Decorator Pattern</title>
      <link>https://pratikdhanave.com/blog/posts/adk-to-maf-callbacks.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/adk-to-maf-callbacks.html</guid>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
      <description>Callbacks to middleware: composable decorators for audit, retry, token enforcement, and OpenTelemetry integration.</description>
      <category>ADK</category>
      <category>MARA</category>
      <category>Middleware</category>
      <category>Observability</category>
      <category>OTel</category>
    </item>
    <item>
      <title>Provider Abstraction: From Gemini-Only to Swappable LLMs</title>
      <link>https://pratikdhanave.com/blog/posts/adk-to-maf-provider-config.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/adk-to-maf-provider-config.html</guid>
      <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
      <description>Zero-code provider swaps: Ollama (dev), OpenAI (staging), Azure Foundry (prod). Same agents, different models.</description>
      <category>ADK</category>
      <category>MARA</category>
      <category>Provider Abstraction</category>
      <category>Config</category>
    </item>
    <item>
      <title>Tool Wrapping: From ADK Functions to MAF Governed Tools</title>
      <link>https://pratikdhanave.com/blog/posts/adk-to-maf-tool-wrapping.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/adk-to-maf-tool-wrapping.html</guid>
      <pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate>
      <description>From ADK functions to MAF governed tools. Adding policy enforcement, DLP, approval gates, and OPA integration.</description>
      <category>ADK</category>
      <category>MARA</category>
      <category>Tools</category>
      <category>Governance</category>
      <category>OPA</category>
    </item>
    <item>
      <title>Token Exchange Patterns: Porting Multi-Turn State from ADK to MAF</title>
      <link>https://pratikdhanave.com/blog/posts/adk-to-maf-token-exchange.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/adk-to-maf-token-exchange.html</guid>
      <pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate>
      <description>Sessions to threads: porting multi-turn state from ADK to MAF. Token budgeting, long-term memory, and conversation audit trails.</description>
      <category>ADK</category>
      <category>MARA</category>
      <category>State Management</category>
      <category>Token Budgeting</category>
    </item>
    <item>
      <title>The Executor Pattern: ADK→MAF Conversion for Agentic Control Flow</title>
      <link>https://pratikdhanave.com/blog/posts/adk-to-maf-executor-pattern.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/adk-to-maf-executor-pattern.html</guid>
      <pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate>
      <description>How to port ADK's orchestration callbacks to MAF builders without losing control. The executor pattern: you own the loop.</description>
      <category>ADK</category>
      <category>MARA</category>
      <category>Orchestration</category>
      <category>Design Pattern</category>
    </item>
    <item>
      <title>Why We Migrated from Google ADK to Microsoft MARA</title>
      <link>https://pratikdhanave.com/blog/posts/adk-to-maf-migration-why.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/adk-to-maf-migration-why.html</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
      <description>The philosophy, trade-offs, and what we learned converting 18+ agents in 3 months. Provider abstraction as the foundation for portable agents.</description>
      <category>ADK</category>
      <category>MARA</category>
      <category>Architecture</category>
      <category>Multi-Agent AI</category>
    </item>
    <item>
      <title>OpenTelemetry and Evaluation in Multi-Agent Workflows — the full production stack</title>
      <link>https://pratikdhanave.com/blog/posts/otel-evaluation-multi-agent-workflows.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/otel-evaluation-multi-agent-workflows.html</guid>
      <pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate>
      <description>How to instrument multi-agent systems with OpenTelemetry, propagate trace context across an in-memory bus, and build a layered evaluation pipeline — from real-time policy gates to async LLM-as-judge to SLO-based trust scoring. Everything I learned building Genie.</description>
      <category>OpenTelemetry</category>
      <category>Evaluation</category>
      <category>Multi-Agent AI</category>
      <category>Observability</category>
      <category>Genie</category>
    </item>
    <item>
      <title>Running a HIPAA-Aware Multi-Agent Medical AI on GKE: A Field Map</title>
      <link>https://pratikdhanave.com/blog/posts/gke-ai-infra-medical-multiagent.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/gke-ai-infra-medical-multiagent.html</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate>
      <description>Google's GKE AI infrastructure docs list ~40 integrations. Here's a field map of which ones actually matter when the workload is a HIPAA-aware multi-agent medical AI, and where the gaps sit.</description>
      <category>GKE</category>
      <category>GCP</category>
      <category>Multi-Agent</category>
      <category>Cloud Architecture</category>
    </item>
    <item>
      <title>The Right-to-Explanation Handler: GDPR Article 22 as a Go HTTP Endpoint</title>
      <link>https://pratikdhanave.com/blog/posts/right-to-explanation.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/right-to-explanation.html</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate>
      <description>How a 200-line Go handler turns an audit log and an eval store into a regulator-friendly answer to</description>
      <category>GDPR</category>
      <category>Privacy Engineering</category>
      <category>AI Governance</category>
      <category>Go</category>
    </item>
    <item>
      <title>Time-bound privileged access — building the PCSE §1.4 PAM analog in Go</title>
      <link>https://pratikdhanave.com/blog/posts/time-bound-elevation-pam-analog.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/time-bound-elevation-pam-analog.html</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate>
      <description>Request → N-eyes approve → window-of-time → automatic expiry, with every transition written to a hash-chained audit log. The package that closes Gap #1 from the PCSE map.</description>
      <category>Security</category>
      <category>Go</category>
      <category>Audit</category>
      <category>PAM</category>
      <category>RBAC</category>
    </item>
    <item>
      <title>HL7 v2 in 2026: Why This 50-Year-Old Protocol Still Drives Healthcare Integration</title>
      <link>https://pratikdhanave.com/blog/posts/hl7v2-still-matters.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/hl7v2-still-matters.html</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
      <description>Why HL7 v2 — a 50-year-old pipe-delimited protocol — still drives most US hospital ADT integrations in 2026, and what a clean Go parser looks like in ~300 lines.</description>
      <category>HL7 v2</category>
      <category>FHIR</category>
      <category>Healthcare IT</category>
      <category>Integration</category>
    </item>
    <item>
      <title>Studying for the AIGP? Here's a Reference Implementation in Go</title>
      <link>https://pratikdhanave.com/blog/posts/aigp-reference-implementation.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/aigp-reference-implementation.html</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
      <description>Studying for the IAPP AI Governance Professional credential? Here's an open-source Go codebase that demonstrates ~70% of the body of knowledge in working code.</description>
      <category>AI Governance</category>
      <category>AIGP</category>
      <category>IAPP</category>
      <category>Compliance</category>
    </item>
    <item>
      <title>"Enough to Reconstruct, Never Enough to Leak": The HIPAA Audit Log Design Problem</title>
      <link>https://pratikdhanave.com/blog/posts/audit-log-design.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/audit-log-design.html</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 +0000</pubDate>
      <description>Enough to reconstruct, never enough to leak. The audit event schema problem under §164.312(b), and how to solve it without conflating the audit sink with the PHI sink.</description>
      <category>HIPAA</category>
      <category>Audit Log</category>
      <category>Privacy Engineering</category>
      <category>Compliance</category>
    </item>
    <item>
      <title>The Fallback Is the Contract: Reliability Patterns for Clinical AI</title>
      <link>https://pratikdhanave.com/blog/posts/fallback-is-the-contract.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/fallback-is-the-contract.html</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate>
      <description>Every LLM-backed agent in this platform has a deterministic rule-based fallback. The case always finalises. The fallback isn't a workaround — it's the contract.</description>
      <category>SRE</category>
      <category>Reliability</category>
      <category>LLM</category>
      <category>Production</category>
    </item>
    <item>
      <title>Multi-Agent Systems in 5 Interfaces: A MARA Implementation Field Report</title>
      <link>https://pratikdhanave.com/blog/posts/mara-five-interfaces.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/mara-five-interfaces.html</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate>
      <description>Five interfaces hold the whole platform together. The 30-line orchestrator closure that makes the rest of the architecture testable, auditable, and safe to evolve.</description>
      <category>Software Architecture</category>
      <category>Multi-Agent</category>
      <category>MARA</category>
      <category>Go</category>
    </item>
    <item>
      <title>PostgreSQL Row-Level Security Is HIPAA Defense in Depth</title>
      <link>https://pratikdhanave.com/blog/posts/postgres-rls-hipaa.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/postgres-rls-hipaa.html</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate>
      <description>PostgreSQL row-level security as HIPAA defence in depth. Why fail-open application filtering isn't enough, and how 'append-only at DB GRANTs' carries more of the §164.312(b) burden than people realise.</description>
      <category>PostgreSQL</category>
      <category>HIPAA</category>
      <category>Database Security</category>
      <category>Go</category>
    </item>
    <item>
      <title>The 21st Century Cures Act, Expressed in Go</title>
      <link>https://pratikdhanave.com/blog/posts/cures-act-as-code.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/cures-act-as-code.html</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate>
      <description>The 21st Century Cures Act §3060 CDS carve-out criterion 4 expressed as a code-level queue, lossless on reject, with audit-recorded reviewer rationale. Build it once, satisfy GDPR Article 22 for free.</description>
      <category>Regulation</category>
      <category>Clinical Decision Support</category>
      <category>Cures Act</category>
      <category>Go</category>
    </item>
    <item>
      <title>Moving Diagnostic Accuracy 42.9% → 85.7% by Changing Two Files</title>
      <link>https://pratikdhanave.com/blog/posts/bench-42-to-85.html</link>
      <guid isPermaLink="true">https://pratikdhanave.com/blog/posts/bench-42-to-85.html</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate>
      <description>How a single sprint of specialty-rule work — guided by a benchmark that wasn't afraid to print embarrassing numbers — turned a 'demo respiratory differential' into a five-condition rule-based diagnostic engine.</description>
      <category>ML Engineering</category>
      <category>Benchmarks</category>
      <category>Go</category>
      <category>Evaluation</category>
    </item>
  </channel>
</rss>
