ADR-0007: Blazor micro-frontend (MFE) for the Studio¶
Decision
This page records a decision and its status. A Proposed decision is not binding; an Accepted decision is binding on the Factory until amended or superseded.
- Status: Accepted
- Date: 2026-01-01
- Deciders: Frontend Architect, UX Lead
- Tags: frontend, studio, ui
Reviewed 2026-10-09 — retained as direction, clarified
- Disposition: retain the Blazor Shell/MFE direction.
- Verified: no Studio, BFF or design-system repository exists. The Studio exists as 41 HTML prototype exports in
ConnectSoft.DesignPrototypes(React-rendered fixtures, zero backend calls; 48 declared Factory destinations, 15 with dedicated views) and as documentation.ConnectSoft.Blazor.Mfe.AIChatTemplateregisters a mock AI service unconditionally. 23ConnectSoft.Blazor.*repositories (shell, MFE, component, UIKit templates) exist as foundations. - Clarification: the 13 MFEs and 8 BFFs described in Studio pages are Target; a first slice needs neither. MAUI for mobile is a statement of intent with no Factory evidence.
- Provenance:
Dateis the 2026-06-17 bulk-commit value.
Context¶
The Factory Studio is the primary human surface, composed of many independently evolving modules (dashboards, orchestration manager, knowledge base, observability, governance). It needs independent module delivery, a shared design system, and tight integration with the .NET backend and identity model.
Decision¶
Build the Studio as a Blazor micro-frontend (MFE) architecture: each Studio module is an independently developable/deployable micro-frontend composed into the shell, sharing a common design system and auth context. Mobile surfaces use MAUI where native apps are required.
Consequences¶
Positive¶
- One language/stack (.NET) across backend and frontend; shared models and auth.
- Independent module delivery and team ownership; consistent design system.
Negative / trade-offs¶
- MFE composition and versioning complexity; shared shell contract to maintain.
Neutral¶
- BFF APIs mediate between Studio modules and platform services.
Alternatives considered¶
| Alternative | Why not chosen |
|---|---|
| SPA framework (React/Angular) | Splits the stack from the .NET backend; duplicates models and tooling. |
| Single monolithic Blazor app | Couples module release cadences; harder to scale teams. |