Guard conversation updates with a revision check

Reject stale chat-history writes when another turn changes the conversation during generation.

October 26, 2026 · 3 min · Lukas Walter

Composing IChatClient Middleware: Why Order Matters

Compare cache, retry, and telemetry order around IChatClient with a fake provider, exact event traces, cancellation, and a streaming failure.

October 25, 2026 · 13 min · Lukas Walter

Evaluating Retrieval Quality in .NET

Evaluate real Qdrant results in .NET with a custom IEvaluator, labeled chunks, Precision@K, Recall@K, MRR, nDCG, and persisted HTML reports.

October 22, 2026 · 17 min · Lukas Walter

Assembling Context for the Model

Assemble model context from Qdrant results in .NET: deduplicate exact text, check a local token allowance, and trace citations to admitted evidence.

October 17, 2026 · 18 min · Lukas Walter

Payload Modeling and Metadata Filters in Qdrant with .NET

Extend the .NET Qdrant chunking sample with payload metadata, keyword indexes, and filters that restrict retrieval to published runbooks.

October 13, 2026 · 12 min · Lukas Walter

Your AI System Needs Backpressure

Use admission control, bounded waiting, and shared provider limits to keep slow AI work from turning overload into an outage, with C# examples.

October 11, 2026 · 11 min · Lukas Walter

Chunking for Qdrant in .NET Before It Becomes a Quality Problem

Extend .NET and Qdrant indexing with section boundaries, paragraph overlap, deterministic chunk IDs, and queries that expose incomplete evidence.

October 7, 2026 · 14 min · Lukas Walter

Fallback Models Are Not Transparent Replacements

Qualify fallback models against the feature contract, define eligible failures, bound attempts, and make reduced behavior visible to callers.

October 4, 2026 · 16 min · Lukas Walter

Decorating IChatClient Without Tangling the Application

Compose shared chat-client behavior in .NET without moving feature policy into middleware or hiding streaming, caching, and retry costs.

September 30, 2026 · 7 min · Lukas Walter

Graceful Degradation for AI Features

How to keep an AI-enabled product useful when a dependency fails, without hiding reduced capability or returning unsafe substitutes.

September 27, 2026 · 14 min · Lukas Walter