TASK-004B: Operational Workspace UI and Fault Injection
AI Execution Profile
- Model class:
Budget or Balanced - Reasoning effort:
Low to Medium
Scope
- expose the richer operational workspace through the existing UI
- show active alarms, recent diagnostics timeline entries, fault injection controls, selected simulator profile, and live metrics
- project all new state from canonical app state through presentation models
- keep the layout additive and understandable rather than redesigning the whole application shell
Copy/Paste Prompt
text
Implement only TASK-004B: Operational Workspace UI and Fault Injection.
Read first:
- docs/specs/SLICE-004-operational-maturity.md
- docs/adrs/ADR-001-use-central-app-state-store.md
- docs/adrs/ADR-004-use-one-operational-maturity-slice-before-specialized-modules.md
- docs/tasks/slice-004/TASK-004B-operational-workspace-ui-and-fault-injection.md
Goal:
- Expose the operational maturity slice in the existing UI without creating hidden state or redesigning the whole app.
Scope:
- Show active alarms and recent diagnostics timeline entries.
- Add visible fault injection controls and acknowledgment or recovery actions where appropriate.
- Show live metrics, counters, and selected simulator profile state.
- Keep ViewModels projecting from canonical AppState.
Do not:
- Redesign the application shell
- Add direct simulator calls from XAML or ViewModels
- Create UI-only copies of workflow or alarm state
Important:
- Prefer additive UI changes
- If profile selection logic already exists, bind to it; do not invent parallel behavior