The Field You Build On
Teams ask for a rewrite as though greenfield were a reward for enduring the old codebase - it is a diagnosis with a test attached, and misdiagnosis is how rewrites fail. Part 1 of 2 on choosing the field you build on.
Notes on cloud & data architecture, .NET engineering and the practice of shipping software, written from the field, with the code to back it up.
The broad areas everything here files under.
Multi-part deep dives, meant to be read in order. Recently active first.
Teams ask for a rewrite as though greenfield were a reward for enduring the old codebase - it is a diagnosis with a test attached, and misdiagnosis is how rewrites fail. Part 1 of 2 on choosing the field you build on.
Seventeen parts of reading FastEndpoints and the series never once mentioned mappers - the entity-translation layer half the endpoint base classes exist to serve. The Missing Chapters opens with the biggest gap: where mappers live, how they are found, and why they are secretly singletons. Part 1 of FastEndpoints — The Missing Chapters.
The first exercise I give anyone learning to direct coding agents has no prompt in it at all - it is a status bar. Why sixty lines of PowerShell teach context and harness thinking better than any lecture about either.
Dashboards go green while codebases rot - the opener of a fourteen-part series on measuring code quality and software delivery without staging the theatre that ruins both.
Most competency models fail the same way - everything matters equally, so nothing does. The case for a two-level weighting system, and a first look at the two mirrored frameworks this series unpacks.
Agents now work unattended for stretches long enough that the conversation can no longer save you - why unstructured runs fail, the five-phase PREVC workflow I adapted from an open-source skeleton, and where this ten-part series goes.
What .NET Aspire actually does for a real multi-service system - the AppHost model, service defaults, the dashboard, and the road from F5 to deployment.
A chat window bolted onto a product is not an AI strategy, and neither is an assistant licence mandated for developers - the case for adoption with intent, and the staged-maturity evidence behind it.
The diagnosis came back genuine and the repository is empty - now the discipline the old system used to impose for free must be rebuilt by hand. Greenfield delivery as three questions (decide, prove, ship) and the gates an AI-assisted team still owes itself.
Teams ask for a rewrite as though greenfield were a reward for enduring the old codebase - it is a diagnosis with a test attached, and misdiagnosis is how rewrites fail. Part 1 of 2 on choosing the field you build on.
FastEndpoints.A2A publishes an agent card at a well-known URL and answers agent-to-agent calls through a JSON-RPC 2.0 dispatcher written entirely by hand - implementing exactly the slice of the A2A protocol it can do honestly. The final missing chapter, and the close of both series. Part 12 of FastEndpoints — The Missing Chapters.
FastEndpoints.Mcp exposes opt-in endpoints as Model Context Protocol tools - schemas generated from your DTOs and enriched from your validators, a synthetic HttpContext that runs the real pipeline, and a visibility model that deliberately ignores your REST auth. Part 11 of FastEndpoints — The Missing Chapters.
Already on the schedule — the next articles off the publish ladder, nearest date first.
Wire four services into a .NET Aspire AppHost and run it once - traces, logs, health and environment variables for the whole system, before you have written a single line of observability code. Part 1 of a series on Aspire in production.