Editorial index
Archive
Every published note in reverse chronological order. Use topic hubs when you want a curated path; use this page when you want the full timeline.
All posts
Sep 4, 2026 · 9 min read · Case Studies
POC public vs MVP private: networking as architecture for agent apps
How to stage agent webapps from a public POC to a private MVP without pretending env files are a network design.
Sep 2, 2026 · 9 min read · Toolkits
Rename the estate once: workspace naming is architecture
Argue that inconsistent workspace display-name prefixes create operational tax and that a one-time rename with stable catalog names is cheaper than perpetual translation layers.
Sep 2, 2026 · 9 min read · Toolkits
Env files are not environments: isolate with Azure CLI discipline
Show how collapsing redundant env templates and treating Azure CLI subscriptions/resource groups as the real isolation boundary prevents POC/MVP config drift.
Aug 21, 2026 · 9 min read · Toolkits
Language gates belong in CI, not in code review folklore
Argue for native CI linters and language test gates so white-label and locale regressions fail the build before demos do.
Aug 21, 2026 · 9 min read · Toolkits
Feature toggles beat hard-coded agent IDs
Replace hard-coded agent catalogs with product feature flags plus per-agent overlay rows for scope, starters, export prefixes, and access arrays.
Aug 20, 2026 · 9 min read · Toolkits
Genie readiness is a modeling problem, not a prompt problem
What has to be true in naming, modeling, and catalog descriptions before conversational analytics tools like Genie produce trustworthy answers.
Aug 19, 2026 · 9 min read · Toolkits
Type each column once, as early as you dare
Argue for typing published columns in bronze (or the earliest stable layer) and banning ritual CAST in silver and gold.
Aug 17, 2026 · 8 min read · Case Studies
Signing in is not authorization: app access is not agent access
Why enterprise agent webapps need separate control planes for shell sign-in, agent catalog access, and knowledge corpus entitlements, and how Entra app roles on the API make that enforceable.
Aug 13, 2026 · 9 min read · Case Studies
Canvas apps at platform scale: push work to Dataverse
How to keep canvas apps maintainable at scale by following Microsoft reference guidance: fewer mega-screens, less chatty data access, more Dataverse-side work.
Aug 12, 2026 · 9 min read · Case Studies
Legacy to lakehouse: semantic parity is the real migration
Why lakehouse migrations fail on NULL versus zero, float pennies, and type rebase settings, and how to treat parity as a contract.
Aug 11, 2026 · 9 min read · Toolkits
AI import UX is governance: default-deny uncertain rows
Generalize section-aware AI import so uncertain matches stay deselected by default and users must opt in to incomplete rows.
Aug 10, 2026 · 9 min read · Toolkits
Row counts lie: validate MLVs column by column
Push migration checklists to per-column tables and type-aware aggregates so MLV cutovers catch semantic drift early.
Aug 10, 2026 · 9 min read · Case Studies
SCD2 is a product question: point-in-time deployed state with MLVs
Explain why location and classification history for measuring points should be SCD2 Materialized Lake Views before anyone builds devices as of reports.
Aug 7, 2026 · 9 min read · Experiments
Most NEE warnings are noise: measure real MLV wall-clock
Teach teams to measure where MLV DAG time actually goes and fix only actionable native-execution engine fallbacks.
Aug 7, 2026 · 9 min read · Toolkits
Fabric CI/CD blast radius: when no changes still deploys
Why Fabric deployment tooling can republish unchanged notebooks and how to design for stable identities and smaller blast radius.
Aug 6, 2026 · 9 min read · Toolkits
Semantic refresh architecture: notebooks, pipelines, and Direct Lake
How to choose notebook, pipeline, or scheduled refresh for lakehouse semantics, and when Direct Lake beats a SQL endpoint for heavy facts.
Aug 5, 2026 · 9 min read · Case Studies
One Fabric lakehouse with schemas vs many lakehouses
How to choose between multiple Fabric lakehouses and a schema-enabled lakehouse for bronze, silver, and gold, including CI/CD and naming fallout.
Aug 4, 2026 · 8 min read · Toolkits
Knowledge RBAC for enterprise agents: same gates for chat, browse, and citations
How to design folder-scoped knowledge access for enterprise agents so chat, library browse, downloads, and citation PDFs share one entitlement model.
Aug 3, 2026 · 9 min read · Toolkits
Consolidate Fabric monitoring into one operable skill
Show why scattered Fabric monitor scripts should become one skill/runbook interface for humans and coding agents.
Jul 30, 2026 · 9 min read · Case Studies
MLV migration is a program: bronze to silver to gold with gates
Frame hundreds of T-SQL warehouse views moving to MLVs as a phased program with schema-enabled lakehouses, shortcut layouts, and POC gates before bulk conversion.
Jul 27, 2026 · 9 min read · Toolkits
Bulk reload is an orchestration problem, not a bigger VM wish
Explain batched parallel page ingest for large ledger entities so full reloads finish without driver OOM.
Jul 24, 2026 · 9 min read · Toolkits
If you cannot explain the tool calls, you do not have an agent product
Argue that activity timelines must reconcile Foundry traces, MCP knowledge searches, and UI tool-call counts, or support will never trust the product.
Jul 24, 2026 · 9 min read · Experiments
Pilot the use case, not the agent catalog
Make the case that enterprise agent programs should start from ranked use cases (orchestrator vs single agent vs tools) instead of from a menu of model endpoints.
Jul 24, 2026 · 9 min read · Experiments
Agent sessions vs the shell app: what should survive refresh
Where conversation state should live when a browser shell wraps a platform agent, and why refresh and quit behavior is an architecture choice.
Jul 21, 2026 · 9 min read · Case Studies
Refresh drift is a contract break, not a flaky pipeline
Diagnose sales-line style refresh drift as mismatched incremental contracts between notebooks, watermarks, and semantic consumers.
Jul 21, 2026 · 9 min read · Case Studies
Foundry webapps deploy as identity and egress, not as Node hostnames
Walk through a VNet-integrated container App Service pattern with secretless OBO, managed identity, and private egress to Foundry, Search, and storage.
Jun 27, 2026 · 9 min read · Toolkits
The AI shell proxy is a security boundary
Compare hardening options for browser-to-API proxies in front of agent backends, including runtime mismatch and Front Door failure modes.
Jun 25, 2026 · 9 min read · Toolkits
PII redaction belongs in the notebook config, not in tribal knowledge
Show how a reusable notebook-level redaction contract (flags, tokens, regex, known-name UDF) makes free-text exports safe without blanking legitimate addresses and codes.
Jun 22, 2026 · 9 min read · Case Studies
Pivot once in gold: measurable controls as a flat fact
Replace OUTER APPLY Import-mode checklist pivots with a pre-pivoted gold fact built in PySpark for Direct Lake.
Jun 2, 2026 · 9 min read · Toolkits
Matching relationship types is cheaper than debugging blank visuals
Show how int64 vs string mismatches across role-playing dims silently break relationships and how to align gold SQL with TMDL.
Jun 2, 2026 · 9 min read · Case Studies
IoT events are facts: model them like service, not like logs
Show why telemetry events belong in gold with contract and service-item enrichment and Direct Lake storage mode for volume.
Jun 2, 2026 · 9 min read · Case Studies
Shortcuts-only bronze: stop copying what OneLake already holds
Argue that bronze should be a contract of OneLake shortcuts and clean views, not a second physical copy of upstream gold and silver.
May 28, 2026 · 9 min read · Toolkits
When warehouse views time out, materialize the trunk not the leaves
Propose a layered performance playbook: drop orphans, cheap rewrites, then materialize the two or three consolidations everything else depends on.
May 26, 2026 · 9 min read · Case Studies
When Fabric regressions force literal OneLake URLs, document the workaround
Reframe literal URL required failures as service regressions with validators, promotion playbooks, and support cases - not as eternal architecture dogma.
May 26, 2026 · 9 min read · Toolkits
Variable Library is your environment map, not a sticky note
Use a Git-tracked Fabric Variable Library with per-stage value sets so rebind notebooks and pipelines stop hard-coding workspace IDs.
May 22, 2026 · 9 min read · Case Studies
Bridge keys before dashboards: remodel the device fact
Show why service-device relationships need an explicit bridge/fact remodel before report pages can be trusted.
May 20, 2026 · 9 min read · Toolkits, Experiments
Lineage explorers beat tribal notebooks
Argue for a small lineage explorer over ad-hoc pipeline docs so engineers can see dependencies before they break them.
May 11, 2026 · 9 min read · Case Studies
Gold without a semantic contract is just another table
Argue that device gold tables only become platform assets when unmatched keys, captions, and relationships are explicit in the semantic model.
Apr 8, 2026 · 9 min read · Experiments
Can Databricks Genie Build My Deck and Deploy My App?
What Databricks Genie Code actually changes for deck generation and app deploy when the assistant already sits inside your governed lakehouse context.
Apr 8, 2026 · 9 min read · Experiments
Image Classification Web App with Azure AI Services
How to shape an image classification web app on Azure AI Services so the UI stays simple, the backend stays operable, and Custom Vision iteration does not become a demo trap.
Apr 8, 2026 · 9 min read · Experiments
Real-time Motion Tracking and Pose Estimation
Why real-time pose estimation is a systems problem of capture, inference, and rendering, and how to design for latency, stability, and demos that survive messy video.
Apr 8, 2026 · 9 min read · Case Studies
Automate Your Microsoft Fabric Workloads with Apache Airflow
Why Fabric workloads need an explicit orchestration plane, how to keep Airflow thin while Fabric owns the data work, and which failure modes show up when teams collapse both into one tool.