Studio modules by plane¶
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Merged page (2026-10-09)
The Factory Studio UI modules page and seven per-platform ui.md pages are consolidated here, one tab each. Everything below is Target: no Studio, BFF, microfrontend or live projection exists; the Blazor shell, microfrontend library and UIKit templates exist as foundations, the AIChat MFE registers a mock service, and the 41 prototypes make no backend calls. The nine filled Studio module pages under modules/ describe the pilot-relevant experience in plane terms; the 48 prototype destinations map onto the seven work areas proposed in the Cloud Design brief (Workspace, Assets, Intelligence, Quality and releases, Operations and usage, Governance and administration, Software Factory).
Consolidated from platforms/factory-studio/ui-modules.md (2026 target design). Service and technology names are profile statements, not requirements.
Target Architecture — Final-State Design
This page describes the final-state catalog of Factory Studio UI modules. The Blazor microfrontend shell, microfrontend library, and UI Kit that host these modules are implemented today (see AI Software Factory Studio); the 13 factory modules below are the designed end state composed onto that foundation.
The Factory Studio experience is composed of 13 UI modules, each shipped as an independent Blazor microfrontend loaded by the ConnectSoft.Blazor.ShellTemplate host shell and built from ConnectSoft.Blazor.UIKit components. Modules are thin: they render view-shaped read models served by the Studio BFF services and subscribe to live updates from the StudioRealtimeGateway. No module talks to a source-of-truth platform directly — every read passes through a BFF, and every write is a governed command.
Module catalog¶
| Module | Purpose | Primary data sources / platforms | Key MFE | Roles |
|---|---|---|---|---|
| Project Command Center | Top-level situational awareness: projects, blueprints, active runs, health, and alerts in one place. The default landing experience. | Control Plane, Observability & Feedback, Agent Mesh | ConnectSoft.Blazor.Mfe.Studio.CommandCenter |
Factory Operator, Solution Architect, Viewer |
| Blueprint Designer | Author and edit project blueprints, target topology, and reuse selections before agents execute. | Control Plane (Blueprint), Knowledge Platform (patterns, templates) | ConnectSoft.Blazor.Mfe.Studio.BlueprintDesigner |
Solution Architect, Product Owner |
| Agent Flow Explorer | Visualize agent task graphs and live execution flows; pause, resume, or redirect a flow. | Agent Mesh via AgentFlowVisualizationService |
ConnectSoft.Blazor.Mfe.Studio.AgentFlow |
Solution Architect, Factory Operator |
| Artifact Lineage Browser | Browse generated artifacts, preview bodies and diffs, and walk content-addressable lineage. | Knowledge Platform (artifact memory) via ArtifactPreviewService |
ConnectSoft.Blazor.Mfe.Studio.ArtifactLineage |
Solution Architect, Reviewer, Developer |
| Knowledge Graph Explorer | Interactively explore the factory knowledge graph — tenants, projects, modules, artifacts, decisions, events. | Knowledge Platform (knowledge graph) via KnowledgeExplorerBff |
ConnectSoft.Blazor.Mfe.Studio.KnowledgeGraph |
Solution Architect, Knowledge Steward |
| Human Review Center | The review queue and decision surface for approving, rejecting, escalating, or overriding agent output. | ReviewCenterService, Control Plane, Governance, Security & Compliance |
ConnectSoft.Blazor.Mfe.Studio.ReviewCenter |
Reviewer, Approver, Solution Architect |
| QA Center | Test results, quality gates, coverage, and validation status across modules. | Observability & Feedback, Control Plane (QA workflows) | ConnectSoft.Blazor.Mfe.Studio.QaCenter |
QA Engineer, Developer |
| Security Center | Security findings, policy violations, dependency and secret scanning, and remediation tracking. | Governance, Security & Compliance, Observability & Feedback | ConnectSoft.Blazor.Mfe.Studio.SecurityCenter |
Security Officer, Solution Architect |
| DevOps Center | Pipelines, GitOps state, pull requests, and deployment promotions across environments. | DevOps / GitOps, Control Plane | ConnectSoft.Blazor.Mfe.Studio.DevOpsCenter |
Factory Operator, SRE |
| Runtime Center | Health, SLOs, and incidents of running generated SaaS products. | Observability & Feedback, Runtime Cloud | ConnectSoft.Blazor.Mfe.Studio.RuntimeCenter |
SRE, Factory Operator |
| Cost Center | Cost, resource, and token consumption with optimization recommendations. | Observability & Feedback (FinOps signals) | ConnectSoft.Blazor.Mfe.Studio.CostCenter |
FinOps Analyst, Tenant Administrator |
| Marketplace Install Center | Browse, evaluate, and install marketplace assets (templates, agents, modules) into a tenant. | Marketplace | ConnectSoft.Blazor.Mfe.Studio.Marketplace |
Tenant Administrator, Solution Architect |
| Admin / Settings | Tenant, user, role, and workspace administration; Studio configuration and saved-view management. | Studio state, Governance, Security & Compliance, Identity (Identity.Admin) |
ConnectSoft.Blazor.Mfe.Studio.Admin |
Tenant Administrator, Platform Administrator |
Module independence and reuse
Each module is an independently versioned microfrontend built on ConnectSoft.Blazor.MicrofrontendLibraryTemplate. Existing shipped MFEs — Blazor.Mfe.AIChat, Identity.Admin, Identity.SelfService, AuthorizationServer.Admin, and Logistics — are composed by the same shell and serve as the implemented reference for the factory modules above. This is the reusability principle applied to the experience layer: the shell, UI Kit, and MFE contract are shared; modules are added without a monolithic redeploy.
Page routes¶
Routes are owned by the shell router and lazy-load the corresponding microfrontend. All routes are tenant-scoped; the active tenantId is resolved from the authenticated session, not the URL.
| Route | Module | Default view | Deep-link parameters |
|---|---|---|---|
/studio |
Project Command Center | Portfolio overview | ?project={projectId} |
/studio/projects/{projectId} |
Project Command Center | Single-project dashboard | — |
/studio/blueprints |
Blueprint Designer | Blueprint list | — |
/studio/blueprints/{blueprintId} |
Blueprint Designer | Blueprint editor | ?version={semver} |
/studio/agent-flows |
Agent Flow Explorer | Active flows | ?project={projectId} |
/studio/agent-flows/{workflowId} |
Agent Flow Explorer | Flow graph | ?task={taskId} |
/studio/artifacts |
Artifact Lineage Browser | Artifact list | ?module={moduleId} |
/studio/artifacts/{artifactId} |
Artifact Lineage Browser | Preview + lineage | ?version={semver}&diff={fromVersion} |
/studio/knowledge-graph |
Knowledge Graph Explorer | Graph canvas | ?focus={nodeId}&depth={n} |
/studio/reviews |
Human Review Center | Review queue | ?status={pending|escalated} |
/studio/reviews/{reviewRequestId} |
Human Review Center | Review detail | — |
/studio/qa |
QA Center | Quality gate board | ?project={projectId} |
/studio/security |
Security Center | Findings board | ?severity={level} |
/studio/devops |
DevOps Center | Pipeline board | ?environment={env} |
/studio/runtime |
Runtime Center | Runtime health | ?environment={env} |
/studio/cost |
Cost Center | Cost overview | ?period={range} |
/studio/marketplace |
Marketplace Install Center | Asset catalog | ?category={type} |
/studio/admin |
Admin / Settings | Tenant settings | ?section={users|roles|workspaces} |
The corresponding implemented studio modules — Platform Status Dashboard, Agent Orchestration Manager, SaaS Factory Workflows Launcher, Knowledge Base Management, Security & Access Control, Observability & Metrics, Versioning & History Tracking, Cost & Resource Optimization, and Governance & Compliance Center — map onto these final-state modules and are catalogued in the Portal UI Catalog.
Module layout¶
flowchart TB
subgraph Shell["ShellTemplate Host"]
Nav["Global Nav + Tenant Switcher"]
Router["Shell Router"]
Notifs["Notification Tray"]
subgraph Region["Active Module Region"]
Module["Loaded Microfrontend"]
end
end
subgraph Shared["Shared Foundations"]
UIKit["Blazor.UIKit Components"]
Auth["OpenIddict Session Context"]
RT["SignalR Client"]
end
Nav --> Router
Router --> Region
Module --> UIKit
Module --> Auth
Module --> RT
Notifs --> RT
The shell owns the persistent chrome — global navigation, the tenant switcher, and the notification tray — while the active module region hosts exactly one microfrontend at a time. Every module shares the same OpenIddict session context and a single SignalR connection multiplexed across modules, so live updates and notifications stay consistent regardless of which module is open.
Knowledge graph visualization model¶
The Knowledge Graph Explorer renders an interactive, access-checked projection of the Knowledge Platform graph. The Studio never queries the graph store directly; the KnowledgeExplorerBff requests a bounded neighbourhood and returns a render-ready view model.
erDiagram
GraphView ||--o{ GraphNode : contains
GraphView ||--o{ GraphEdge : contains
GraphNode ||--o{ GraphEdge : "source/target"
GraphView {
string viewId
string tenantId
string focusNodeId
int depth
string layout
}
GraphNode {
string nodeId
string nodeType
string label
string classification
bool truncated
}
GraphEdge {
string edgeId
string sourceNodeId
string targetNodeId
string relationship
}
| Concept | Description |
|---|---|
| Focus + depth | Every view is anchored on a focusNodeId (a tenant, project, module, artifact, decision, or event) expanded to a bounded depth of neighbours. Unbounded graph loads are never permitted. |
| Node typing | Node types mirror the knowledge graph ontology — Tenant, Project, Blueprint, Module, Artifact, Contract, Event, Agent, Skill, Commit, Deployment, RuntimeSignal. |
| Edge semantics | Edges carry the relationship name (produces, dependsOn, derivedFrom, deployedAs, emitted) so the visualization is meaningful, not just topological. |
| Access checking | The BFF applies the requesting user's tenant and classification scope; nodes the user may not see are omitted, and partially expanded nodes are flagged truncated. |
| Trace overlay | A view can be overlaid with a traceId to highlight only the subgraph touched by one lifecycle, connecting visualization to traceability. |
| Layout hint | The layout (force, hierarchical, radial) is a render hint resolved client-side; the BFF stays presentation-agnostic. |
Saved graph explorations are persisted as SavedView aggregates so an architect can return to a curated neighbourhood.
Artifact preview model¶
The Artifact Lineage Browser uses the ArtifactPreviewService to render artifact bodies, diffs, and lineage without copying artifact storage into the Studio. A preview is a short-lived, access-checked session over artifact memory.
erDiagram
ArtifactPreviewSession ||--o{ PreviewRendition : produces
ArtifactPreviewSession ||--o{ LineageEdge : resolves
ArtifactPreviewSession {
string sessionId
string tenantId
string artifactId
string version
string classification
datetime expiresAt
}
PreviewRendition {
string renditionId
string renderKind
string contentType
bool redacted
}
LineageEdge {
string edgeId
string fromArtifactId
string toArtifactId
string relationship
}
| Concept | Description |
|---|---|
| Preview session | A bounded, expiring handle (ArtifactPreviewSession) onto an artifact version. Sessions enforce classification and tenant scope and never expose raw storage URIs to the browser. |
| Renditions | The service produces render-ready forms — syntax-highlighted source, rendered markdown/diagram, structured diff against another version — selected by renderKind. |
| Redaction | Sensitive spans are redacted server-side per Knowledge Platform governance; the rendition is flagged redacted so the UI can indicate it. |
| Lineage edges | Content-addressable lineage (derivedFrom, producedBy, supersedes) is resolved into a walkable graph so a reviewer can trace an artifact back to the agent task and forward to its deployment. |
| Diff mode | Two versions of the same artifact produce a structured diff rendition, used heavily by the Human Review Center. |
| Expiry | Sessions expire (expiresAt); previews are re-requested rather than cached long-term, keeping the Studio free of artifact bodies at rest. |
Related Pages¶
Consolidated from platforms/marketplace/ui.md (2026 target design). Service and technology names are profile statements, not requirements.
Target Architecture — Final-State Design
This page describes the final-state user surfaces of the Marketplace Platform. The UI is delivered as Blazor micro-frontends hosted in the Factory Studio shell (Blazor.ShellTemplate + Blazor.Mfe.* family), consuming the public APIs and reacting to marketplace events for live status.
The Marketplace exposes two primary surfaces: the Marketplace Install Center for consumers (engineers and agents-with-a-human-in-the-loop) and the Publisher Portal for producers. Both are micro-frontends in the Factory Studio shell, authenticated through the factory authorization server, and tenant-scoped.
Surface map¶
flowchart TB
Shell["Factory Studio Shell"] --> Install["Marketplace Install Center MFE"]
Shell --> Portal["Publisher Portal MFE"]
Install -->|"GET /marketplace/assets"| Catalog["Catalog & Search APIs"]
Install -->|"POST .../install"| InstallApi["Installation API"]
Install -->|"POST .../compatibility/evaluate"| CompatApi["Compatibility API"]
Portal -->|"POST /marketplace/assets"| PublishApi["Publishing API"]
Portal -->|"GET /marketplace/publishers/{id}"| PublisherApi["Publisher API"]
Install -. live status .-> Events["Marketplace events"]
Portal -. live status .-> Events
Marketplace Install Center¶
The consumer-facing surface for discovering, evaluating, and installing assets.
Key views
- Discover / Browse — faceted catalog across the nine asset types (SaaS Blueprints, Agent Packs, Template Packs, Library Packs, Integration Packs, Prompt Packs, Policy Packs, Dashboard Packs, Industry Packs), with search, filters (type, publisher, rating, compatibility), and ranking driven by
MarketplaceSearchService. - Asset Detail — description, versions, release notes, dependency declarations, ratings/reviews, pricing plan, and a Compatibility panel that calls
POST /marketplace/assets/{assetId}/compatibility/evaluateagainst the selected target project before install. - Install — a guided install dialog showing the resolved dependency graph, license/pricing summary, target project/environment, and a live progress timeline reflecting the installation state machine (Requested → Evaluating → Resolving → LicenseCheck → Applying → Installed).
- My Installations — per-project inventory of installed assets, versions, provenance (
requestedBy,traceId), update availability, and uninstall/rollback actions. - Reviews — submit a rating/review (gated on a verified install) and read aggregated feedback.
UX principles — compatibility and licensing are surfaced before install so failures are prevented rather than reported; every install shows full provenance; agent-initiated installs appear in the same timeline with their task- correlation so humans can audit autonomous activity.
Publisher Portal¶
The producer-facing surface for onboarding, publishing, and managing a portfolio.
Key views
- Publisher Onboarding — registration, verification status (Unverified → Pending → Verified), trust tier, and signing-key management (key references in Azure Key Vault; the portal never displays secret material).
- Publish Asset — create an asset (type, metadata, tags, pricing plan) via
POST /marketplace/assets, then upload and release versions viaPOST /marketplace/assets/{assetId}/versions, with a live view of the publishing flow (staging → quality scan → policy gate → sign → release → indexed). - Quality & Findings — the
AssetQualityScannedverdict and findings for each submission, with remediation guidance for rejected submissions. - Portfolio Analytics — installs, active licenses, ratings, and reputation score per asset, sourced from catalog, commerce, and review signals.
- Pricing & Plans — define and publish
PricingPlans (Free, Flat, PerSeat, Usage) integrated withConnectSoft.Extensions.Saas.Billingand metering. - Version Management — release, yank, and deprecate versions; view downstream installations affected by a yank.
Cross-cutting UI concerns¶
- Authentication & authorization — OAuth2 via the factory authorization server; views are gated by scope (
marketplace.read,marketplace.install,marketplace.publish,marketplace.review,marketplace.admin) and tenant role, consistent with Security. - Live status — both surfaces subscribe to marketplace events (publish/install progress) for real-time timelines without polling.
- Accessibility & theming — built on the shared
Blazor.ComponentLibraryTemplatedesign system used across Factory Studio. - Traceability — every UI action carries
traceId/correlationIdso user activity is correlated with backend events and Observability traces.
Consolidated from platforms/integration-platform/ui.md (2026 target design). Service and technology names are profile statements, not requirements.
Target Architecture — Final-State Design
This page describes the final-state Integration management surfaces inside Factory Studio, the factory's operator and developer experience. These surfaces are backed by the public APIs through a backend-for-frontend and are tenant-scoped, role-gated, and fully audited.
Integration management in Factory Studio gives operators and developers a single place to configure external connectivity, govern credentials, manage webhooks, and watch external health — without ever handling raw secrets. Every action maps to a governed API call, every change emits a canonical event, and everything is filtered by tenantId.
Surface Map¶
flowchart LR
Studio["Factory Studio"] --> Conn["Connections"]
Studio --> Prov["Providers & API Clients"]
Studio --> Hooks["Webhooks"]
Studio --> Health["External Health"]
Conn --> Runs["Connection Runs & Failures"]
Prov --> Creds["Credentials & Rotation"]
Hooks --> Subs["Subscriptions"]
Hooks --> Deliv["Deliveries"]
Connections¶
The primary operator surface. Lists every IntegrationConnection for the tenant with provider, status, and live health.
- List & filter connections by provider category, status (
Active/Degraded/Retired), and project. - Establish connection wizard: pick a registered provider, choose an auth mode, bind a credential (by Key Vault reference — never by typing a secret into the page), set provider configuration, and run a live test.
- Connection detail: health timeline, recent
IntegrationRuns, configuration, and the bound credential reference. Drill into a run to see attempts, latency, andexternalRef. - Retire connection with confirmation; emits
IntegrationConnectionRetired.
Providers & API Clients¶
The Vendor Registry surface. Browse and register the providers and versioned ExternalApiClients the factory supports.
- Provider catalogue with category, capabilities, auth model, and status, including
globalshared providers. - Register provider form and register API client (assembly + semver + declared capabilities), surfacing the Implemented clients (
ConnectSoft.Deputy.ApiClient,ConnectSoft.Braze.ApiClient,ConnectSoft.Bill.ApiClient, the SMS providers, etc.) as ready-to-use. - Capability matrix showing which operations each provider/client supports.
Credentials & Rotation¶
Credential governance without secret exposure.
- Credential list shows
keyVaultRef,authMode,currentVersion,lastRotatedAt, andexpiresAt— never the secret value. - Rotate now action (calls
POST /integrations/credentials/rotate) with live verification status; shows whether the new version passed its verification run before promotion. - Rotation policy editor (cadence, expiry warnings). Upcoming expirations surface as alerts.
Webhooks¶
Both directions of the webhook gateway.
- Subscriptions (outbound): create/edit subscriptions binding a factory
eventTypeto an HTTPS endpoint with a signing-secret reference; toggle active; view egress audit. - Deliveries: searchable log of inbound and outbound
WebhookDeliveryrecords with direction, status, attempts, signature status, and per-attempt detail. Replay a delivery from its preserved payload (governed action).
External Health¶
A real-time view fed by the ExternalApiHealthWorker.
- Health dashboard: per-provider/connection health (
Healthy/Degraded/Unhealthy), latency, error rate, and open circuits. - Failure feed: live
IntegrationFailurestream grouped by category, with links to the originating run/delivery and escalation status. - Cross-links into Observability dashboards for deeper trace analysis.
UX & Governance Principles¶
- No secrets in the browser. Credential surfaces show references and metadata only; secret material never transits the UI.
- Role-gated actions. Establishing connections, rotating credentials, and replaying deliveries require the corresponding security scopes; the UI hides actions the user cannot perform.
- Every action is audited. UI-initiated changes carry the operator identity and
traceIdinto the emitted event for full traceability. - Tenant-scoped by default. Operators only see their tenant's connections, providers, and deliveries.
Related Pages¶
Consolidated from platforms/devops-gitops/ui.md (2026 target design). Service and technology names are profile statements, not requirements.
The DevOps / GitOps Platform surfaces in Factory Studio as the DevOps Center — the operator's window onto the delivery plane. It is a read-and-act console: humans observe what the agents are doing and intervene only where governance requires it. The UI is built with the ConnectSoft.Blazor.* micro-frontend stack and consumes the platform's REST and gRPC streaming APIs.
Target Architecture — Final-State Design
All surfaces below are tenant- and project-scoped. They render live state from the platform and stream updates over gRPC/SignalR; they do not bypass the platform's APIs or governance gates.
Surfaces¶
flowchart LR
DevOpsCenter["DevOps Center"] --> Repos["Repositories"]
DevOpsCenter --> PRs["Pull Requests"]
DevOpsCenter --> Pipelines["Pipelines"]
DevOpsCenter --> Releases["Releases"]
DevOpsCenter --> Environments["Environments"]
Repositories¶
- Browse repositories per project/module with provider, default branch, and provisioning status.
- Drill into branches and recent commits, each linked to its originating
artifactIdfor lineage. - Action: request repository provisioning (delegated to the agent that calls
POST /repositories).
Pull Requests¶
- A board of open/merged/abandoned PRs with check status and policy-gate state.
- Per-PR detail: source/target branches, checks, reviews, and the governance evaluation.
- Action: a human reviewer can approve/merge where policy requires human sign-off; otherwise the Pull Request Creator agent drives it.
Pipelines¶
- List generated pipeline definitions and recent runs with status and duration.
- Live log tail via the
PipelineExecution.StreamRunLogsgRPC stream. - Action: trigger a run (
POST /pipelines/{pipelineId}/run) or regenerate a definition.
Releases¶
- The release pipeline view: planned → pending approval → approved → promoting → deployed, mirroring the ReleasePlan state machine.
- Approval surface enforcing segregation of duties; production releases that require a human approver appear here.
- Per-release detail: build provenance, packages/images, deployment manifest, and approval audit trail.
Environments¶
- Environment matrix (dev / test / staging / prod) showing the currently deployed version per module.
- GitOps sync status per environment (Synced / OutOfSync / Reconciling / Degraded) with drift indicators.
- Action: request a promotion or trigger a reconcile (delegated to agents/services).
Real-Time & Notifications¶
- State changes arrive over SignalR/gRPC streams so the UI reflects deployments and reconciliations as they happen.
- Incidents and stuck workflows surface as banners linked to the Observability & Feedback Platform.
Accessibility & Theming¶
- Built on the
ConnectSoft.Blazor.UIKitwith WCAG-compliant components and the factory's light/dark theming. - All destructive or governance-sensitive actions present a confirmation with the policy context.
Pillar Alignment¶
- Observability — the DevOps Center is the human-facing observability surface for delivery.
- Governance — human approval gates and audit trails are first-class UI elements.
- Autonomy — the UI shows agent activity; humans supervise rather than operate.
Related¶
Consolidated from platforms/runtime-cloud/ui.md (2026 target design). Service and technology names are profile statements, not requirements.
Target Architecture — Final-State Design
The Runtime Center is the operations surface of the Runtime & Cloud Platform inside Factory Studio. It is a Blazor micro-frontend that reads the platform's APIs (REST + gRPC) and renders the live state of every generated SaaS runtime.
The Runtime Center is where humans observe and steer the running output of the factory. It does not run workloads itself — it is a governed window onto the autonomous platform, giving operators and product owners a single place to see what is live, how healthy it is, and what the platform is doing about it.
Surfaces¶
| Surface | Purpose | Backing API / Source |
|---|---|---|
| Live Services | Inventory of every running generated component per environment and tenant, with version, compute target, and replica count. | RuntimeInventory.GetServices (gRPC), GET /runtime/environments/{environmentId} |
| Health | Real-time health of services and dependencies (liveness/readiness/dependency), with degraded/unhealthy drill-down. | GET /runtime/services/{serviceId}/health, RuntimeHealth.StreamHealth |
| Logs | Streamed and searchable workload logs and deployment step logs. | Application Insights + Blob (deployment logs) |
| Metrics | SLO-oriented dashboards: latency, throughput, error rate, saturation, replica counts. | Application Insights (KQL-backed tiles) |
| Incidents | Open incidents and their runtime context, linked to the originating signals. | Observability & Feedback |
| Deployments | Deployment history and live rollout status with the RuntimeDeployment state machine. |
GET /runtime/deployments/{deploymentId} |
| Scaling | Active scaling policies and recent scaling actions per service. | POST/GET /runtime/scaling-policies |
| Drift | Open and resolved drift findings with desired-vs-actual diffs and remediation actions. | GET /runtime/drift/{environmentId} |
Experience¶
flowchart LR
Operator["Operator / Product Owner"] --> RC["Runtime Center (Blazor MFE)"]
RC -->|"live services, health"| RT["Runtime & Cloud APIs"]
RC -->|"logs, metrics"| AppI["Application Insights"]
RC -->|"incidents"| Obs["Observability & Feedback"]
RC -->|"deploy / rollback / remediate (governed)"| RT
- Read-first, action-gated — the surface is primarily observational; mutating actions (trigger rollback, approve drift remediation, adjust a scaling policy) are gated by the same scopes and governance approvals as the APIs.
- Trace-linked — every tile links to the originating
traceId, so an operator can pivot from a runtime signal back through deployment, artifact, agent task, and business intent. - Tenant-scoped — operators see only the tenants and environments their role grants, enforced by
RuntimeTenantBinding.
Integration with Factory Studio¶
The Runtime Center is one micro-frontend in the Factory Studio shell (ConnectSoft.Blazor.ShellTemplate + UIKit). It shares the Studio's identity, navigation, and design system, and cross-links to the DevOps delivery view (for what produced a deployment) and the Observability view (for deep telemetry and feedback).
Related Pages¶
Consolidated from planes/trust-operations/observability/ui.md (2026 target design). Service and technology names are profile statements, not requirements.
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Reviewed 2026-10-09
UI content is consolidated into the Experience plane Studio modules page in a later portion.
Target Architecture — Final-State Design
This page describes the final-state UI surfaces of the Observability & Feedback Platform inside Factory Studio. The surfaces are Blazor microfrontends (ConnectSoft.Blazor.MicrofrontendLibraryTemplate) hosted in the Studio shell, consuming the platform's public APIs through the Studio BFF.
The platform exposes three operator-facing surfaces in Factory Studio. Each is a Blazor microfrontend that consumes the platform APIs and renders telemetry sliced by the required dimensions. All surfaces are tenant-scoped and role-gated (see Security).
Surface Map¶
flowchart LR
Studio["Factory Studio Shell"] --> RC["Runtime Center"]
Studio --> CC["Cost Center"]
Studio --> QA["QA Center"]
RC -->|"traces, metrics, alerts, incidents"| API1["Trace / Metric / Alert / Incident APIs"]
CC -->|"cost telemetry"| API2["Cost API"]
QA -->|"quality scores, feedback"| API3["Quality / Feedback APIs"]
Runtime Center¶
The operations cockpit for runtime health of generated SaaS products and the factory itself.
- Live health dashboards — per-project and per-module dashboards (
POST /dashboards,POST /metrics/query) showing latency, error rate, throughput, and SLO error-budget burn. - Trace explorer — search and open correlated traces (
GET /traces/{traceId}), drill from a span into its logs (POST /logs/search) and any linked incidents. - Alerts & incidents — view active alert rules (
POST /alerts/rules), the incident queue, and incident detail with lifecycle timeline, root cause, and escalation steps (POST /incidents). - SLO board — SLO targets, current status (healthy / at-risk / breached), and budget burn over the rolling window.
Primary roles: runtime.operator. Every view is filterable by the required dimensions (projectId, moduleId, agentId, environment, version).
Cost Center¶
The economic feedback surface — where cost is attributed, trended, and governed.
- Cost overview — total and per-category cost (
GET /cost/projects/{projectId}) broken down by model inference, compute, storage, and network, per tenant and project. - Anomaly feed — flagged cost anomalies with delta-vs-baseline, linked to the
CostAnomalyDetectedsignal and any resulting feedback. - Attribution drill-down — cost sliced by
agentId,skillId,workflowId, andartifactIdso expensive generation paths are visible and addressable. - Budget & trend — month-over-month trend and per-tenant budget tracking, feeding governance review.
Primary roles: cost.analyst. Cost anomalies above tenant thresholds are surfaced to Governance.
QA Center¶
The quality and improvement-loop surface.
- Quality scoreboard — per-project quality scores (
GET /quality/projects/{projectId}) across reliability, performance, cost efficiency, maintainability, and correctness, with artifact-level drill-down. - Feedback inbox — the stream of
FeedbackItemrecords (POST /feedback-items), categorised and sentiment-tagged, with their source (incident / runtime signal / human / agent) and attribution. - Feedback authoring — humans and reviewing agents can create feedback items directly, attributed to an artifact and trace.
- Loop visibility — shows how feedback flowed into the Knowledge Platform and whether it was applied to a subsequent generation, making the improvement loop visible.
Primary roles: quality.reviewer.
UI Principles¶
- Blazor microfrontends. Each surface ships as an independent microfrontend in the Studio shell, so the platform's UI deploys independently of other Studio modules.
- API-only data access. Surfaces never touch stores directly; they consume the public APIs through the Studio BFF, inheriting tenant scoping and authorization.
- Dimension-first navigation. Every view is built around the required telemetry dimensions, so an operator can pivot seamlessly from a project to a module to an agent to a single trace.
- Trace-linked. Every signal in every surface links back to its
traceId, enabling one-click navigation across Runtime, Cost, and QA centers for the same execution. - Accessible & responsive. Built on
ConnectSoft.Blazor.UIKitfor consistent, accessible, responsive components.
Related Pages¶
Consolidated from planes/trust-operations/governance/ui.md (2026 target design). Service and technology names are profile statements, not requirements.
Target
This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.
Reviewed 2026-10-09
UI content is consolidated into the Experience plane Studio modules page in a later portion; the governance centre exists only as a prototype and an empty docs page today.
Target Architecture — Final-State Design
This page describes the final-state user-facing surfaces of the platform. They are Blazor micro-frontends within Factory Studio, built on ConnectSoft.Blazor.ShellTemplate + ConnectSoft.Blazor.UIKit, talking to the platform's APIs through the Studio BFF. They harden the existing Governance & Compliance Center and Security & Access Control studio modules.
The platform exposes two primary surfaces in Factory Studio: the Security Center and the Governance & Compliance Center. Both are read-rich, action-light dashboards designed for security engineers, compliance officers, and platform operators — humans step in only at approval gates and triage.
Surface Map¶
flowchart TB
Studio["Factory Studio Shell"] --> SecCenter["Security Center"]
Studio --> GovCenter["Governance & Compliance Center"]
SecCenter --> Findings["Security Findings & triage"]
SecCenter --> Secrets["Secret Governance & rotation"]
SecCenter --> Risk["Risk dashboard"]
SecCenter --> Isolation["Tenant Isolation rules"]
GovCenter --> Policies["Policy authoring & versions"]
GovCenter --> Approvals["Approval queue"]
GovCenter --> Audit["Audit explorer"]
GovCenter --> Compliance["Compliance reports & evidence"]
GovCenter --> Classification["Data classification"]
Security Center¶
The operational home for the security posture of the factory and everything it produces.
| Module | Purpose | Backing API / data |
|---|---|---|
| Findings & triage | List, filter, and triage SecurityFindings by severity/status; assign, resolve, suppress with notes. |
POST /security-findings, finding queries; SecurityFindingRaised stream. |
| Secret governance | View SecretReferences, rotation due dates, and leak findings — never secret values. Trigger rotation reminders. |
SecretGovernanceService (gRPC via BFF). |
| Risk dashboard | Composite RiskScores by subject (action/artifact/tenant/agent) with contributing factors and bands. |
RiskScoringService; RiskScored stream. |
| Tenant isolation | Inspect and manage TenantIsolationRules (isolation mode, residency, cross-tenant grants). |
TenantIsolationPolicyService. |
Key UX principles: severity-first ordering, one-click trace pivot (jump from a finding to its traceId chain in the Audit explorer), and clear "no secret values are ever shown" affordances around secret governance.
Governance & Compliance Center¶
The home for policy, approvals, audit, classification, and evidence — hardening the existing Governance & Compliance Center.
| Module | Purpose | Backing API / data |
|---|---|---|
| Policy authoring | Create/version PolicyDefinitions and PolicyRules across the ten governance domains; diff versions; publish. |
POST /policies; policy queries. |
| Approval queue | The human-in-the-loop surface: pending ApprovalRequests with context, risk, and policy reason; approve/reject with justification. |
POST /approvals/{id}/approve, POST /approvals/{id}/reject; approval stream. |
| Audit explorer | Query the immutable, hash-chained audit trail by traceId, subject, action, time; verify chain integrity. |
GET /audit. |
| Compliance reports | Generate and download framework reports / evidence bundles (GDPR/SOC 2/HIPAA-style packs). | POST /compliance/reports; ComplianceReportGenerated stream. |
| Data classification | Review and (with approval) adjust DataClassification labels and categories. |
DataClassificationService; DataClassified stream. |
Cross-cutting UI Concerns¶
- Live updates — surfaces subscribe to the governance event stream (via the Studio BFF over SignalR) so approval queues, findings, and risk update in real time without refresh.
- Trace-first navigation — every record links to its
traceId, enabling a pivot from intent → decision → approval → audit across the whole factory. - RBAC/ABAC-aware — modules and actions render per the viewer's roles and the platform's own policy (e.g. an approver only sees requests they may decide; segregation of duties hides self-raised requests).
- Tenant-scoped — all surfaces are tenant-isolated; cross-tenant views require an explicit, audited isolation grant.
- Accessibility & consistency — built on
ConnectSoft.Blazor.UIKitfor consistent, accessible components across Studio.
Related¶
Consolidated from platforms/generated-saas-platform/ui.md (2026 target design). Service and technology names are profile statements, not requirements.
Target Architecture — Final-State Design
This page describes the generated user experience of a SaaS Product. Portals are Blazor microfrontend compositions generated from ConnectSoft.Blazor.ShellTemplate and ConnectSoft.Blazor.MicrofrontendLibraryTemplate, using the shared ConnectSoft.Blazor.UIKit, produced by the Frontend Developer Agent. An optional mobile client is generated from ConnectSoft.MauiBaseTemplate.
A generated product ships two web portals — an Admin Portal for tenant administrators and platform operators, and a Customer Portal for end users — plus an optional mobile app. Both portals are microfrontend (MFE) compositions: a host shell owns routing, layout, theming, and the authenticated session, and feature areas are loaded as independently generated microfrontends. This mirrors the factory's own Factory Studio experience model.
Experience architecture¶
flowchart TB
subgraph AdminPortal["Admin Portal"]
AdminShell["ShellTemplate Host<br/>routing + layout + auth"]
AdminMfes["MFEs: Tenants, Users & Roles,<br/>Subscriptions & Billing, Feature Flags,<br/>Audit, Reports, Configuration"]
end
subgraph CustomerPortal["Customer Portal"]
CustShell["ShellTemplate Host<br/>routing + layout + auth"]
CustMfes["MFEs: Dashboard, Domain Features,<br/>Profile & Account, Notifications,<br/>Subscription Self-Service, Reports"]
end
UIKit["Blazor.UIKit<br/>shared components"]
Mobile["MAUI Mobile Client"]
Gateway["API Gateway"]
Auth["Authorization Server (OpenIddict)"]
AdminMfes --> AdminShell
CustMfes --> CustShell
AdminShell --> UIKit
CustShell --> UIKit
AdminShell -->|"REST/gRPC"| Gateway
CustShell -->|"REST/gRPC"| Gateway
Mobile -->|"REST"| Gateway
AdminShell -->|"OIDC"| Auth
CustShell -->|"OIDC"| Auth
Mobile -->|"OIDC"| Auth
Admin Portal surfaces¶
| Surface | Purpose | Backing Service |
|---|---|---|
| Tenant Administration | Manage tenant profile, status, provisioning | Tenant Management |
| Users & Roles | Invite users, assign roles, manage permissions | Identity Service |
| Subscriptions & Billing | View/change edition, billing, invoices | Subscription & Billing |
| Feature Flags | Toggle flags, manage rollout | Configuration Service |
| Configuration | Manage tenant settings | Configuration Service |
| Audit Log | Search and review the audit trail | Audit Trail Service |
| Reports & Analytics | Define, run, and download reports | Reporting & Analytics |
| Integrations | Configure connections and webhooks | Integration Service |
Customer Portal surfaces¶
| Surface | Purpose | Backing Service |
|---|---|---|
| Dashboard | Overview of the user's workspace and key metrics | Domain + Reporting |
| Domain Features | The product's specific end-user functionality | Domain microservices |
| Profile & Account | Manage own profile, security, preferences | Identity Service |
| Notifications | In-app notification center and preferences | Notification Service |
| Subscription Self-Service | View plan, upgrade, manage payment | Subscription & Billing |
| Reports | Run and download permitted reports | Reporting & Analytics |
Design system & composition¶
- Shared UI Kit. Both portals consume
ConnectSoft.Blazor.UIKitfor a consistent component system (forms, tables, dialogs, navigation), so generated products look and behave consistently. - Microfrontend isolation. Each feature area is an independently generated and deployable MFE; adding a surface does not require a monolithic portal redeploy.
- Theming & branding. Per-tenant branding (logo, palette) is applied by the shell from
ConfigurationSettingvalues, enabling white-labeling. - Tenant-aware navigation. Menus and surfaces are gated by the user's permissions and the tenant's edition entitlements, so users see only what their role and plan allow.
- Responsive + accessible. Generated UI follows responsive layout and accessibility conventions baked into the UI Kit.
Real-time & state¶
- Live updates. Portals subscribe to product events (e.g.
NotificationSent,ReportGenerated) over SignalR (ConnectSoft.Extensions.Saas.AspNetCore.SignalR) for live notification badges and report-ready toasts, scoped per tenant and user. - Session. The shell owns the OIDC session; tokens are validated at the gateway and per-service.
- Workspace state. User preferences, saved filters, and layouts persist per user and tenant.
Implemented
The experience foundation is real today: ConnectSoft.Blazor.ShellTemplate, ConnectSoft.Blazor.MicrofrontendLibraryTemplate, ConnectSoft.Blazor.UIKit, shipped Blazor.Mfe.* microfrontends (including Identity.Admin, Identity.SelfService, AuthorizationServer.Admin), the SignalR substrate, and ConnectSoft.MauiBaseTemplate. The generated portals are compositions of these proven building blocks.
Mobile client¶
The optional mobile app is generated from ConnectSoft.MauiBaseTemplate, sharing the OIDC auth flow and API contracts with the web portals. It targets the Customer Portal surfaces most relevant on mobile (dashboard, notifications, key domain features).
How the UI contributes to the pillars¶
- Traceability — every user action emits an enveloped, audited event carrying
traceId. - Reusability — portals are compositions of shared shell, MFE library, and UI Kit, generated identically across products.
- Autonomy — the Frontend Developer Agent generates portals and MFEs from the blueprint UI definition.
- Governance — surfaces are gated by RBAC permissions and edition entitlements; admin actions are audited.
- Observability — client telemetry (page views, errors, latency) feeds the product's observability dashboards.
- Multi-tenant scale — branding, navigation, and data are tenant-scoped; the shell isolates tenants on every request and SignalR group.