Topic

AI Engineering

Agents, RAG and LLM features that survive production: contracts, evaluation, authority, cost and recovery.

AI Engineering13 min

Copilot Studio over Direct Line: Track Accepted Work, Not Chat Bubbles

A Direct Line page is a batch of activities, not an answer. Build a .NET client that keys acceptance by task, keeps the watermark opaque and commits each page atomically.

AI Engineering13 min

Upgrade Microsoft.Extensions.AI by Testing the Seams You Actually Use

A one-line package bump from 9.10.2 to 11.0.0 compiles and passes tests, yet the text the model reads after a rejected approval changed three times. Build a tracker that notices.

AI Engineering18 min

A Read-Only SQL Agent Must Survive a Forbidden Command

Build a SQL Server diagnostic tool that stays read-only when the model misbehaves: a fixed tool catalogue, a narrow principal, a pinned tenant and real cost limits.

AI Engineering15 min

One Question, Several Queries: Typed Intent Between Language and SQL

Let the model propose meaning, not SQL. Parse a small typed intent strictly in .NET 10, compile it to reviewed templates, enforce the tenant in SQL Server and return results that say what they count.

Performance & Data15 min

Trace an Agent SQL Tool from Its Request to the Rows Read

Five Index Seeks return the same 1,000 rows and three read 5,000. Follow an agent tool's parameter into the actual plan, read the right counters and attach the query to the answer.

.NET & C#15 min

Semantic Search in Blazor WebAssembly: Where the Cost Moves

Run an embedding model in a Web Worker behind a Blazor component, then follow the cost it moves: a 90 MB first visit, exact tokenization and pooling, stale results, caching and cleanup.

Performance & Data13 min

Vector Search Under Pressure: Distance, Candidates and Index Updates

When a relevant document is missing, the metric is rarely at fault. Measure what post-filtering, candidate budgets and stale index membership do, on SQL Server 2025 and in C#.

Performance & Data16 min

Restartable .NET Ingestion: Stage Chunks, Publish Complete Revisions

Keep a half-imported revision out of search: chunk by structure, key embeddings by content, stage in SQL Server 2025 and publish a whole revision by moving one pointer.

Azure & Architecture16 min

A Minimal .NET Agent Platform: Four Jobs, Two Workers, One Restart

Stop a small ASP.NET job service while it still owns work, then restart it. Four jobs show what can resume, what must wait, and what only the receiver's receipt can settle.

Azure & Architecture13 min

Permission Changed Mid-Answer: Gate the Write, Not Just the Check

A streamed answer that checks permission on every chunk can still leak after revocation. Gate the write, choose a snapshot contract deliberately, and keep retrieved text out of your logs.

Azure & Architecture17 min

Azure Service Bus and agents: persist the event, then claim the work

Commit the inbox before completing the message, deduplicate events and work separately, and recheck version and permission when a worker claims the job, so redelivery never runs an agent twice.

AI Engineering16 min

After the Restart: Reconcile a Lost Acknowledgement in a .NET Agent

The receiver committed, the response was lost and the agent restarted. Persist the obligation, bind a receipt to the effect, reconcile by key and know when to stop replaying.