feat: system health summary with overall status and refresh - #358
feat: system health summary with overall status and refresh#358kahboom wants to merge 12 commits into
Conversation
Add FEATURE_OBSERVABILITY environment variable (default "off") and wire it through the feature flags provider. The System Health page and its sidebar nav entry are now only accessible when the flag is enabled, allowing safe merge to main while the feature is in progress. Assisted-By: Claude
…nd refresh Aggregate individual service statuses into Operational/Degraded/Down for the header status dot and label, and connect the Refresh button to refetch. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PR Summary by QodoSystem Health page: overall status header, refresh refetch, and observability flag
AI Description
Diagram
High-Level Assessment
Files changed (19)
|
Code Review by Qodo
1.
|
# Conflicts: # package-lock.json
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #358 +/- ##
==========================================
+ Coverage 75.94% 76.58% +0.64%
==========================================
Files 109 119 +10
Lines 1621 1708 +87
Branches 496 530 +34
==========================================
+ Hits 1231 1308 +77
- Misses 343 351 +8
- Partials 47 49 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…Wrapper Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace removed @tsd-ui/core LoadingWrapper import with the local @app/components/LoadingWrapper. Add unit tests for SystemHealth page and all sub-components to meet patch coverage requirements. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use incident.title as React key instead of array index in IncidentTimeline - Add aria-label to expandable card toggle buttons in ArtifactCard - Fix endpoint.spec.ts race condition by setting up waitForResponse before triggering the search Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
/api/v1/systemHealthgetOverallStatusandoverallStatusToSeverityutility functionsFeature flag
The system health page is gated behind the
FEATURE_OBSERVABILITYenvironment variable (defaults tooff). When set toon, it enables the/system-healthroute and adds a "System Health" entry to the sidebar navigation. The flag is read fromcommon/src/environment.tsand consumed via theuseFeatureFlagshook inclient/src/app/hooks/useFeatureFlags.tsx.Test plan
utils.test.tscovers all status aggregation variants (Operational, Degraded, Down)FEATURE_OBSERVABILITY=onandMOCK=onthat the header shows "Degraded" (since mock data has one unhealthy service) and Refresh button triggers re-fetch🤖 Generated with Claude Code
Relevant Jiras: SECURESIGN-3895, SECURESIGN-3894, SECURESIGN-3890