Guard conversation updates with a revision check
Reject stale chat-history writes when another turn changes the conversation during generation.
Reject stale chat-history writes when another turn changes the conversation during generation.
Compare cache, retry, and telemetry order around IChatClient with a fake provider, exact event traces, cancellation, and a streaming failure.
Evaluate real Qdrant results in .NET with a custom IEvaluator, labeled chunks, Precision@K, Recall@K, MRR, nDCG, and persisted HTML reports.
Assemble model context from Qdrant results in .NET: deduplicate exact text, check a local token allowance, and trace citations to admitted evidence.
Extend the .NET Qdrant chunking sample with payload metadata, keyword indexes, and filters that restrict retrieval to published runbooks.
Extend .NET and Qdrant indexing with section boundaries, paragraph overlap, deterministic chunk IDs, and queries that expose incomplete evidence.
Limit buffered work with a bounded channel, then decide whether producers should wait, reject, or drop work when it fills.
Compose shared chat-client behavior in .NET without moving feature policy into middleware or hiding streaming, caching, and retry costs.
Keep span work between awaits. Carry memory or its backing buffer through asynchronous I/O.
Turn a question into an embedding, apply payload filters, query Qdrant from .NET, and inspect the ranked results without treating a similarity score as proof of relevance.