Practical insights
on software and AI
Architecture decisions, integration lessons, and practical guidance for putting technology to work.
What Happens When Azure Retires the Model Behind an AI Feature
Azure OpenAI retires model versions on dates customers cannot extend. Depending on a Standard deployment's upgrade setting, the feature moves to another model or stops answering, and a saved evaluation set keyed to the model version makes that a planned test run.
Read articleWhy a .NET 10 Build Can Fail on a Package You Never Added
Projects that target .NET 10 audit transitive packages by default. With TreatWarningsAsErrors, an advisory published after the upgrade can fail restore on unchanged code, so the audit policy has to be settled before the retarget merges.
Read articleWhen the Document Gives the Instructions: Prompt Injection in Business Workflows
Inbound documents can carry instructions aimed at the AI that reads them. Give the reading step no authority to act, have application code check every field it returns, and treat those values as untrusted even after they pass.
Read articleRouting Routine AI Requests to Smaller Models
Microsoft Foundry's model router picks a model for each request. For the calling application, the smallest model in the pool sets the context limit, the model subset is also the failover set, and some parameters apply only on certain models.
Read articlePlanning a .NET 10 upgrade and a separate workflow improvement
For .NET 8 and .NET 9 applications still in service after November 10, 2026, security fixes alone justify the move to .NET 10. What changes on build agents and servers, what two SDK warnings report, and why a workflow improvement is planned as separate work.
Read articleWhat Your Search Index Still Answers After You Revoke Access
Azure AI Search keeps its own copy of who may read each document. Some permission changes at the source, such as a parent-scope change in SharePoint, reach the index only when a resync runs; until then it answers from the older copy.
Read articleSQL Server 2025 as an AI Platform, Not Just a Vector Store
SQL Server 2025 can call an embedding model from a T-SQL statement. That moves the endpoint credential, the retry setting and the outbound REST calls into the database, and changes how batches, rollback and chunking are planned.
Read articleWhy a Task-Specific Agent Beats a Chatbot Bolted Onto Your App
An agent's scope is the tool list registered in code, not a line in its prompt. Microsoft.Extensions.AI's published retry defaults decide what reaches the model when a tool call fails, and the finish line is a record the application can check.
Read articleWhen Custom Software Beats Another SaaS Subscription in 2026
A build-versus-buy decision starts with the workflow a customer would notice, then runs two diagnostics against the incumbent product: how its configured logic is developed and released, and whether one complete slice of records, associations, history, and files can be reconstructed somewhere else.
Read articleSQL Server Can Now Power Semantic Search Without a Separate Vector Database
SQL Server 2025 stores embeddings natively and searches them with VECTOR_DISTANCE, both generally available. The approximate DiskANN index is preview and cannot be deployed through a DacPac. Below about 50,000 candidate vectors after filtering, Microsoft's guidance points to exact search.
Read articleCustomer-facing MCP servers: permissions, approvals and retries
What a customer-facing MCP server has to enforce when a customer's own AI assistant books or reorders: authorization on every call, holds that expire, an approval the business records itself, and reconciliation when a payment call times out.
Read articleContact IKRC