You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: GET /api/system/status — comprehensive cockpit dashboard endpoint
Single JSON response with collector, features, packs, models, and stats.
Degrades gracefully when subsystems are unavailable. 18 new tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .asif/NEXUS.md
+56Lines changed: 56 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -293,6 +293,61 @@ IDEA ──> RESEARCHED ──> DECIDED ──> BUILDING ──> SHIPPED
293
293
294
294
## CoS Directives
295
295
296
+
### DIRECTIVE-CLX9-20260223-52 — System Status Dashboard API: GET /api/system/status
297
+
**From**: CLX9 CoS | **Priority**: P2
298
+
**Injected**: 2026-02-23 02:50 | **Estimate**: S (~15min) | **Status**: DONE
299
+
300
+
**Context**: DesktopAI has 1137 tests and a rich feature set across 6 pillars. But there's no single endpoint that gives a comprehensive system overview — current collector status, active features, voice/vision pipeline state, pack inventory, and uptime. This is the endpoint Asif will hit first during UAT. Think of it as the "cockpit dashboard" for the backend.
301
+
302
+
**Action Items**:
303
+
1.[ ] Create `GET /api/system/status` endpoint that returns a comprehensive JSON response:
304
+
-`version`: app version string
305
+
-`uptime_seconds`: time since server start
306
+
-`collector`: { connected: bool, last_heartbeat: timestamp, commands_available: list }
2.[ ] Gather data from existing services (bridge, pack registry, OllamaClient, history store, telemetry)
312
+
3.[ ] Write 10+ tests for the endpoint (all components healthy, collector disconnected, Ollama circuit open, no packs installed, fresh server with zero stats)
313
+
4.[ ] Keep all 1137 existing tests passing
314
+
5.[ ] Commit and push
315
+
316
+
**Constraints**:
317
+
- Use existing data sources — do NOT create new storage
318
+
- Response should be fast (<100ms) — no expensive queries
319
+
- If a subsystem is unavailable, return degraded status (not error)
320
+
321
+
**Response** (CLX9, 2026-02-23):
322
+
Completed. New endpoint `GET /api/system/status` returns comprehensive cockpit JSON.
0 commit comments