One Agent, Three Frameworks: What Agent Framework, LangGraph and ADK Do When the Model Misbehaves

The same agent built with Microsoft Agent Framework, LangGraph and Google ADK twice, sharing two tools and talking to one scripted stand-in model

The same agent and the same two tools built with Microsoft Agent Framework, LangGraph and Google ADK, run against a scripted model that calls missing tools, sends wrong types, repeats a refund and never stops. The defaults differ, and a few lines of configuration bring them into line.

Read more →

AWS Emulator, Two Days In: A Lab Notebook

AWS Emulator went generally available on 11 November 2026. Ten questions, one CI run against release 1.0.341: install and signature check, start-up cost, CLI, boto3 and Terraform, a 22-experiment comparison with moto, Lambda, service reach, the published fidelity scores, IAM, state, and a pipeline recipe.

Read more →

C# 15 Union Types in a Real Domain Model: Dispensed, Rejected or Referred

C# 15 union types applied to a prescribing model: a dispensing outcome that is exactly one of three cases, handlers the compiler keeps exhaustive, and fifteen experiments on what unions compile to, how they behave when empty, what they cost, how they serialise, and how they work with .NET 10 and C# 14 code.

Read more →

Step Functions as Agent Tools: Putting the Rules Where a Prompt Cannot Move Them

Step Functions workflows can now be exposed to agents as tools through AgentCore Gateway. What the connector offers, how to write a workflow that is safe to hand to a model, where the IAM boundary sits, and eighteen scenarios tested on Step Functions Local.

Read more →

Multi-Region Active-Active on Azure for a .NET API: What Happens to the Write You Acknowledged

Routing two Azure regions is configuration. Deciding what happens to two writes to one record is design. Four write strategies compared on one simulated outage, what Cosmos DB does with a conflict, idempotent retries across regions, readiness probes for Front Door, and the global tier in Terraform.

Read more →