код написан
This commit is contained in:
35
specs/026-dashboard-health-windows/ux_conformance_phase5.md
Normal file
35
specs/026-dashboard-health-windows/ux_conformance_phase5.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# UX Conformance Verification: Phase 5 (Quick Navigation and Integrations)
|
||||
|
||||
**Feature**: Dashboard Health Windows (026)
|
||||
**Phase**: 5
|
||||
**Date**: 2026-03-10
|
||||
|
||||
## 1. Sidebar Badge Integration (T026)
|
||||
- [x] **Requirement**: Red badge `[N🔴]` next to "Dashboards" menu item.
|
||||
- [x] **Implementation**:
|
||||
- Added `failingCount` derived store in `frontend/src/lib/stores/health.js`.
|
||||
- Updated `Sidebar.svelte` to render a red numeric badge when `isExpanded` is true and `failingCount > 0`.
|
||||
- Added a red dot indicator on the icon when `isExpanded` is false (collapsed sidebar) to maintain visibility.
|
||||
- Added `onMount` refresh logic with 5-minute interval.
|
||||
- [x] **UX Match**: Matches `ux_reference.md` section 3 (Dashboard Health Center).
|
||||
|
||||
## 2. AI Assistant Support (T027)
|
||||
- [x] **Requirement**: Resolve queries about "failing dashboards" and provide deep links.
|
||||
- [x] **Implementation**:
|
||||
- Added `get_health_summary` intent to `backend/src/api/routes/assistant.py`.
|
||||
- Implemented regex-based parsing for "здоровье", "health", "ошибки", "failing", "проблемы".
|
||||
- Added `get_health_summary` to `_SAFE_OPS` for immediate execution.
|
||||
- Dispatcher calls `HealthService.get_health_summary` and formats a detailed response.
|
||||
- Added `AssistantAction` for "Открыть Health Center" and individual report links for failing dashboards.
|
||||
- [x] **UX Match**: Matches `ux_reference.md` section 3 (Chat Assistant Interaction).
|
||||
|
||||
## 3. Technical Standards Compliance
|
||||
- [x] **Semantics**: Followed `[DEF:...]` patterns in `health.js` and `assistant.py`.
|
||||
- [x] **RBAC**: `get_health_summary` intent is protected by `plugin:migration:READ` permission, consistent with the Health API.
|
||||
- [x] **I18n**: Sidebar labels use `$t` (though badge itself is numeric/iconic).
|
||||
|
||||
## 4. Verification Results
|
||||
- **Frontend**: Store correctly fetches data from `/api/health/summary`. Badge appears/disappears based on `fail_count`.
|
||||
- **Backend**: Assistant correctly identifies health queries and returns aggregated counts + deep links.
|
||||
|
||||
**Status**: ✅ PASS
|
||||
Reference in New Issue
Block a user