await foreach does not automatically use your cancellation token

A CancellationToken in scope does nothing unless the async enumeration receives and observes it.

September 6, 2026 · 2 min · Lukas Walter

Run production evaluations outside the user response path

Hand production samples to a separate evaluation worker instead of making users wait for an evaluator model.

September 1, 2026 · 4 min · Lukas Walter

AI Systems Need Runtime Budgets

How to bound time, tokens, retries, tool calls, and estimated cost across a complete AI execution instead of limiting each call in isolation.

August 30, 2026 · 13 min · Lukas Walter

Return Retry-After when a client should back off

Tell API clients when another attempt may succeed instead of leaving them to guess a retry delay.

August 29, 2026 · 2 min · Lukas Walter

Choose histogram boundaries from the service objective

Put the latency objective into the histogram boundaries so compliance can be calculated without interpolating between buckets.

August 26, 2026 · 3 min · Lukas Walter

Use concurrency tokens to detect lost updates

Make stale writes fail explicitly instead of silently overwriting newer database state.

August 25, 2026 · 3 min · Lukas Walter

Retries Are Not a Recovery Strategy

Why bounded retries help with transient faults but cannot resolve unknown outcomes, partial workflows, or duplicated side effects in AI systems.

August 23, 2026 · 12 min · Lukas Walter

Separate ingestion health from retrieval readiness

A failed ingestion run should not stop retrieval while an accepted index remains queryable and eligible to serve.

August 23, 2026 · 5 min · Lukas Walter

Cap tool-call loops explicitly

Set a hard iteration limit on automatic function invocation and treat hitting it as an explicit application outcome.

August 22, 2026 · 2 min · Lukas Walter

What Happens When Your AI Feature Fails?

A practical way to identify failure modes, choose explicit application behavior, and test an AI feature before its successful path hides the hard decisions.

August 15, 2026 · 12 min · Lukas Walter