Parallel slice foundation
Blazor foundation shell
Shared workspace context, projection freshness, and reusable UI states for future vertical slices. This demo contains no catalogue, supplier, listing, inventory, publishing, credential, or irreversible workflow behavior.
Workspace and projection context
The shell subscribes once per circuit to workspace-filtered projection freshness notifications.
Development authentication only
This local cookie sign-in is deterministic test support; production OAuth, OIDC, SSO, and invite flows are intentionally deferred.
Sign in as development memberProjection freshness states
Reusable UI state patterns
Future slices should compose these states instead of inventing one-off loading, error, authorization, validation, concurrency, or approval panels.
Authentication required
Login required
Sign in as a workspace member before viewing private workspace context.
The current skeleton uses deterministic development auth only; production identity is intentionally not configured here.
Empty state
No records yet
This workspace projection has no records to show.
Loading
Loading workspace projection
Waiting for the current workspace read model to become available.
Error
Unexpected foundation state
The shared shell caught a recoverable error and preserved a safe message.
Trace identifier redacted-demo-trace; no private provider payloads are shown.
Validation
Validation blocked command
Resolve the typed validation issues before retrying the command.
- Name: A value is required.
- ExpectedVersion: The command must carry the latest stream version.
Concurrency
Expected version conflict
The command used a stale expected version. Reload the projection before retrying.
- Stream
- workspace-development
- Expected
- 3
- Actual
- 4
Approval required
Approval required
Attach an approval reference before running a costly, public, legally sensitive, or irreversible command.
- Snapshot hash
- sha256:0f4c2a7b9d8e6f10
- Payload handling
- Only redacted summaries and stable references are shown in approval UI states.
Approval blocked
Approval blocked
Edit permission is not approval authority. Commands that commit public, costly, or irreversible work need explicit approval.
- Snapshot hash
- sha256:19b8d3e6a0c4f275
- Payload handling
- Only redacted summaries and stable references are shown in approval UI states.
Approval pending
Approval pending
A human approver is reviewing the redacted command snapshot. Execution remains disabled until approval is granted.
- Snapshot hash
- sha256:2a5d9f31c6e0b842
- Payload handling
- Only redacted summaries and stable references are shown in approval UI states.
Approval rejected
Approval rejected
The approval request was rejected. Rebuild the command snapshot and request a new approval if the action is still needed.
- Snapshot hash
- sha256:3c7e0a42b9f1d658
- Payload handling
- Only redacted summaries and stable references are shown in approval UI states.
Approval expired
Approval expired
The approval window closed before execution. Request a fresh approval for the current snapshot.
- Snapshot hash
- sha256:4e1f8b63a2d7c905
- Payload handling
- Only redacted summaries and stable references are shown in approval UI states.
Stale approval
Stale approval
The command snapshot no longer matches the approved snapshot. Refresh, review, and request approval again.
- Snapshot hash
- sha256:5f2a9c74e3b8d016
- Payload handling
- Only redacted summaries and stable references are shown in approval UI states.
File asset UI patterns
Future catalogue, generated-media, and commerce slices should render safe file metadata while raw bytes remain behind the file asset store.
File asset reference
Summer 2026 supplier catalogue.pdf
Safe metadata only. Raw file bytes stay behind the file asset store and are not embedded in events or projections.
- Media type
- application/pdf
- Size
- 4.8 MB
- Pages
- 12
- Provenance
- 1 provenance reference
- Source coordinates
- 1 source coordinate
Safe summary
12-page handbag catalogue; supplier-provided pricing ranges pending review
Supplier portal credential
Credential values stay behind the configured secret boundary; this component never accepts the raw private value.
Asset availability
Asset content unavailable
The workspace can show safe metadata, but the raw file content is missing or unavailable.
Asset content unavailable for this workspace. Storage diagnostic redacted: [redacted reference] [redacted local path] [redacted provider payload] [redacted provider payload].
Sensitive asset action warning
Review before read/download/export
Reads, downloads, and exports of confidential, sensitive, or approval-protected assets must preserve audit context and avoid exposing private provider diagnostics.
- Read attempts should use safe diagnostics and record who accessed the asset and why.
- Download and export attempts for confidential, sensitive, or approval-protected export assets require explicit human approval in future command paths.
- This pattern shows warning copy only; it does not upload, download, export, or call live integrations.
Exports stay approval-protected until a future command path provides an explicit human approval reference.