Skip to content

Factory Studio — shell

Target

This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.

The shell is the Blazor host of every microfrontend (the Blazor shell and microfrontend library templates with ConnectSoft.Blazor.UIKit). It owns scope, navigation, search, notifications, status and preferences; screens own nothing of these.

Regions

flowchart TB
    subgraph top [Top bar]
        SC[Org › Tenant › Project › Environment switchers]
        CP[Command palette]
        NT[Notifications]
        PR[Profile · locale · theme · motion]
    end
    subgraph rail [Rail]
        W[Workspace] --- A[Assets] --- I[Intelligence] --- Q[Quality & releases] --- O[Operations & usage] --- G[Governance & admin] --- F[Software Factory]
    end
    subgraph main [Main]
        BC[Breadcrumb · scope badge · freshness strip]
        SCREEN[Screen composition]
    end
    top --> main
    rail --> main
Hold "Alt" / "Option" to enable pan & zoom
Region Behaviour
Switchers Change the scope the session reads under; validated server-side; grant nothing (ADR-0015); re-snapshot permissions; ask before discarding unsaved changes
Rail The seven work areas filtered by the permissions catalog; badges for action-required notifications; collapses to icons
Command palette Search runs, assets, projects, environments, alerts, screens under scope; run commands by name with the same forwarding and gates as buttons
Notifications In-app channel of StudioNotificationService; grouped, importance first; opening re-checks permission
Breadcrumb and scope badge Always visible, including while editing; the environment badge names the class (development, test, staging, production)
Freshness strip Projection lag and last observation per source of the current screen; a degraded source is named, never hidden
Profile Locale en, he (RTL), ru; theme light, dark, system; reduced motion; default work area

Rules every screen inherits

  • Outcomes, not toasts. A command renders the server's response; the persisted outcome is observed on the next read or stream; the BFF never retries.
  • Exact versions. Approval cards carry the proposal version shown; a 412 re-renders the newer proposal.
  • State families stay distinct. Asset readiness, deployment availability, run, approval, usage, freshness, delivery and fleet each use their own words and colour family (states catalog).
  • Usage by status. Estimated, reserved, observed, reconciled and uncertain are separate figures (FUX-08).
  • Identifiers are left-to-right inside RTL text; code and logs are monospace and LTR.
  • Keyboard first. Every control reachable; focus visible and restored; the palette is the keyboard entry to any screen.
  • Realtime resumes. Streams resume from the last sequence; overflow triggers a full refresh of the screen.