Review EF Core migrations as database changes

Review generated EF Core operations, inspect the deployment SQL, and check application compatibility before applying schema changes.

September 11, 2026 · 2 min · Lukas Walter

Pin the .NET SDK with a deliberate roll-forward policy

Commit global.json and choose whether builds require an exact SDK or may use newer installed patches or feature bands.

September 10, 2026 · 2 min · Lukas Walter

Dependency Injection for AI Components

Register .NET AI clients, tools, prompts, and retrieval services with explicit lifetimes, safe request state, and clear disposal ownership.

September 9, 2026 · 10 min · Lukas Walter

Treat the model finish reason as a control signal

Check why generation stopped before accepting model output, and give incomplete responses an explicit application outcome.

September 9, 2026 · 2 min · Lukas Walter

Persist ingestion checkpoints at source boundaries

Track progress per consumer and source ordering boundary, and advance each checkpoint only after the corresponding ingestion work succeeds.

September 8, 2026 · 4 min · Lukas Walter

Treat provider throttling as a shared capacity signal

Let one throttling response reduce pressure from every caller sharing the affected capacity pool.

September 7, 2026 · 3 min · Lukas Walter

`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

Preserve the stack trace with `throw`, not `throw ex`

Rethrow the current exception with throw; so the original failure location remains visible.

September 5, 2026 · 2 min · Lukas Walter

Store a source checksum to skip unchanged documents

Compare a document’s source checksum, metadata, and ingestion profile before repeating extraction, chunking, embedding, and index writes.

September 4, 2026 · 4 min · Lukas Walter

Pin culture and time zone in tests that depend on them

Make culture and time zone explicit inputs when parsing, formatting, or local-time conversion depends on them.

September 3, 2026 · 2 min · Lukas Walter