UI Rework Architecture - Release Control Plane

Ownership: UI Guild, Platform Team Status: SUPERSEDED (2026-07-12). A release-control-plane rework did ship — but not this one. The IA proposed below (§2.2 seven-section nav CONTROL PLANE / RELEASES / APPROVALS / SECURITY / EVIDENCE / OPERATIONS / SETTINGS, and the §4 features/control-plane/ folder as home) was overtaken by the five-pillar redesign and never reconciled. Do not use this document as the roadmap.

What actually shipped (verified against src/, 2026-07-12):

  • Five pillars, declared in src/Web/StellaOps.Web/src/app/core/navigation/navigation.config.ts:49 (NAVIGATION_GROUPS, Phase A re-parenting, sprint 20260707_006): group ids home · risk · releases · proof · operate, rendered as Home · Vulnerabilities · Deployment · Proof · Operate (navigation.config.ts:55/76/155/…). There is no SECURITY, APPROVALS, or OPERATIONS top-level section — approvals live under Deployment, security under Proof/Operate.
  • No features/control-plane/ directory exists (verified absent). Home is src/Web/StellaOps.Web/src/app/features/dashboard-v3/.

Use instead: Current UI Architecture (canonical) and navigation.config.ts + src/Web/StellaOps.Web/AGENTS.md (“Five-pillar navigation (Phase A)”) for the nav model.

Retained only as a record of the vision/mental-model work (§0–§1), much of which the delivered IA kept.

Related: Current UI Architecture. (The doc’s original companion links — guides/wireframes-flagship-pages.md, guides/migration-map.md, guides/component-breakdown.md — are dead: no such files exist anywhere under docs/. The surviving wireframe material is wireframes/proof-visualization-wireframes.md.)

This document defines the target UI architecture for Stella Ops as an evidence-based release control plane with hybrid reachability as a first-class gate and explanation layer.


0) Vision Summary

The current UI tells users “scanner + admin console.” The new UI must communicate:

  1. “What is deployed where” (by digest, per environment/target)
  2. “What is allowed to ship next” (promotion requests + approvals)
  3. “Why it is allowed/blocked” (policy gates + reachability evidence)
  4. “Where the evidence is” (one-click proof chain and export)

Everything else (vuln explorer, SBOM graph, VEX hub, feeds, ops health) is supporting detail.


1) New UX Mental Model

1.1 Core Objects (first-class nouns everywhere)

ObjectDescription
ReleaseBundle of component-to-digest mappings (immutable identity)
EnvironmentDev/QA/Staging/Prod (policies, windows, approvals)
PromotionRequest to move a Release to an Environment
DeploymentExecution instance (workflow run against targets)
Evidence PacketSigned bundle of inputs/outputs of a decision/run

1.2 Core Jobs (UI must optimize for these first)

  1. Ship a release: create -> request promotion -> approve -> deploy
  2. Explain/justify a decision: why allowed/blocked + evidence
  3. Operate with confidence: drift, CVE updates, replay, audit export

2) Information Architecture

2.1 Current Top-Level Nav (scanner-centric)

HOME / ANALYZE / TRIAGE / POLICY / OPS / NOTIFY / ADMIN

2.2 New Top-Level Nav (release control plane)

CONTROL PLANE / RELEASES / APPROVALS / SECURITY / EVIDENCE / OPERATIONS / SETTINGS

2.3 Navigation Mapping

New SectionContainsReplaces
Control PlanePipeline overview, Action Inbox, Pending Promotions, Drift/RiskHome dashboard
ReleasesRelease list, Release detail, Environment detailRelease Orchestrator (hidden)
ApprovalsApproval inbox, Approval detailRelease Orchestrator approvals
SecurityOverview, Findings, Vulnerabilities, SBOM Graph, VEX, ExceptionsAnalyze + Triage + VEX Hub
EvidencePackets, Proof Chains, Replay/Verify, Export, Audit BundlesScattered evidence views
OperationsOrchestrator, Quotas, Dead-letter, SLO, Health, Feeds, SchedulerOps/* + Scheduler
SettingsIntegrations, Trust, Admin, Notifications, Policy GovernanceConsole/Admin + scattered config

3) Shell & Layout Architecture

3.1 Shell Blueprint

+------------------------------------------------------------------------------+
| Stella Ops   [Global Search: release|digest|CVE|env]   [Tenant] [User]       |
| Offline: OK | Feed Snapshot: 2026-01-15 | Policy: v3.1 | Evidence: ON        |
+---------------+--------------------------------------------------------------+
| CONTROL PLANE | Breadcrumb: Section > Page                                   |
| RELEASES      |                                                              |
| APPROVALS     |  <router-outlet>                                             |
| SECURITY      |                                                              |
| EVIDENCE      |                                                              |
| OPERATIONS    |                                                              |
| SETTINGS      |                                                              |
+---------------+--------------------------------------------------------------+

3.2 Shell Components

ComponentResponsibility
AppShellComponentTop-level layout with topbar + sidebar + outlet + overlay hosts
AppTopbarComponentGlobal search, tenant context, status chips, user menu
AppSidebarComponentLeft navigation rail with nav groups and items
BreadcrumbComponentContext-aware breadcrumbs from router data
GlobalSearchComponentUnified search across releases, digests, CVEs, environments
ContextChipsRowComponentOffline status, feed snapshot, policy baseline, evidence mode

4) Folder Structure (Angular 21 Standalone)

src/app/
  core/                     # auth, api client, guards, nav config, app init
  layout/                   # app shell, sidebar, topbar, page scaffolding
  shared/
    ui/                     # design system primitives (buttons, chips, tables)
    domain/                 # domain widgets (digest chip, gate badges, evidence link)
    overlays/               # drawers/modals (evidence drawer, witness drawer)
    pipes/                  # formatting
    util/                   # helpers, comparators, trackBy fns
  features/
    control-plane/          # / - Control Plane Overview
    releases/               # /releases, /releases/:id
    approvals/              # /approvals, /approvals/:id
    environments/           # /environments, /environments/:id
    deployments/            # /deployments, /deployments/:id
    security/               # /security/*
    evidence/               # /evidence/*
    reachability/           # /witness/:id
    operations/             # /operations/*
    settings/               # /settings/*

5) Shared Domain Widgets (The Moat UI)

These components encode Stella’s differentiators and must be consistent everywhere.

5.1 Digest Identity

ComponentInputsBehavior
DigestChipComponentdigest, label?, variantShort digest display, copy on click, full on hover
BundleDigestHeaderComponentreleaseId, bundleDigest, createdAt, sourceRefRelease identity block

5.2 Gate System

ComponentInputsBehavior
GateBadgeComponentstate, labelPASS/WARN/BLOCK badges
GateSummaryPanelComponentgates[], policyRef, snapshotRefCompact gate list with drill-down
GateExplainDrawerComponentgateRunIdK4 lattice explanation, rule hits, evidence

5.3 Evidence UX

ComponentInputsBehavior
EvidenceLinkComponentevidenceId, type, verified, signedConsistent evidence link
EvidencePacketSummaryComponentEvidencePacketHeaderVMWho/What/Why/How/When audit block
ProofChainLinkComponentsubjectDigestStandard proof chain entry

5.4 Reachability Witness

ComponentInputsBehavior
ReachabilityStateChipComponentstate, confidenceReachable/Unreachable/Uncertain + confidence
WitnessPathPreviewComponentpath[], guards, deterministicCall path preview with drill-down
WitnessViewerComponentwitnessIdFull witness page with exports and replay

6) Flagship Pages

6.1 Control Plane Overview (/)

Goal: Answer in one screen: what’s deployed, what’s pending, what changed, what needs attention.

Components:

6.2 Release Detail (/releases/:releaseId)

Goal: One flagship screen tying promotion + gates + reachability + evidence + proof chain.

Tabs:

6.3 Approval Detail (/approvals/:approvalId)

Goal: Everything needed to make a decision without navigating away.

Panels:

6.4 Evidence Packet Viewer (/evidence/:evidenceId)

Goal: Evidence as structured “who/what/why/how/when” record + bundle contents + verify.

Sections:


7) State Management

7.1 Signal Store Pattern

Each major page/container has a dedicated store service:

@Injectable()
export class ReleaseDetailStore {
  private state = signal<ReleaseDetailState>({ ... });

  release = computed(() => this.state().release);
  gateSummary = computed(() => this.state().gateSummary);

  load(releaseId: string) { /* triggers effects + sets loading/error */ }
  refresh() { /* re-runs queries */ }
  requestPromotion() { /* command method */ }
}

7.2 Cross-Cutting Stores

StoreResponsibility
AppContextStoreTenant, user, offline mode, feed snapshot, evidence mode
GlobalSearchStoreQuery -> aggregated results across types
OverlayStoreOpen/close drawers (evidence, witness, gate explain)

8) Overlays (Drawers/Modals)

Essential for “small pages, deep drill-down” requirement:

OverlayPurpose
EvidencePacketDrawerComponentOpens from anywhere; condensed evidence view
WitnessDrawerComponentPreview witness path + quick export + open full
GateExplainDrawerComponentK4 lattice reasoning + rule hits + evidence anchors
CreateReleaseModalComponentNew release creation flow
RequestPromotionModalComponentPromotion request flow
RollbackModalComponentRollback confirmation
RequestExceptionModalComponentException request flow

9) UX Contracts

9.1 Gate State Presentation

StateBadgeColor
PASS[PASS]Green
WARN[WARN]Amber
BLOCK[BLOCK]Red

Always show with one-line reason.

9.2 Reachability State Presentation

StateDisplay
ReachableState + Confidence + Witness link
UnreachableState + Confidence (0.90+)
UncertainState + Confidence + “why uncertain” + resolution hints

9.3 Digest Visibility

9.4 Evidence Traceability


10) Implementation Priority

Phase 1 (Highest ROI)

  1. Make / the Control Plane Overview (pipeline + inbox + drift)
  2. Consolidate Settings (stop configuration fragmentation)
  3. Make Approvals evidence-first with reachability witness (moat on display)

Phase 2 (Core Product)

  1. Shell & navigation redesign (left rail)
  2. Releases feature (list + detail flagship)
  3. Evidence unification

Phase 3 (Polish)

  1. Security consolidation (merge Analyze + Triage)
  2. Environments & Deployments features
  3. Route migration & legacy redirect telemetry


Last updated: 2026-01-18. Superseded 2026-07-12 (see the status banner at the top).