Skip to content

feat: Sparky UX/telemetry patterns (review only — do not merge yet) - #96

Open
MikeGibbsOnyx wants to merge 1 commit into
MiaAI-Lab:mainfrom
MikeGibbsOnyx:feat/sparky-patterns-local
Open

MikeGibbsOnyx wants to merge 1 commit into
MiaAI-Lab:mainfrom
MikeGibbsOnyx:feat/sparky-patterns-local

Conversation

@MikeGibbsOnyx

Copy link
Copy Markdown
Collaborator

Summary

Steal selected UX/telemetry patterns from The Sparky Command Center into sparkDash. sparkDash stays Node/Vite/ops. This is not a Python rewrite and not a read-only dashboard.

Please do not merge to main until Mia and a second reviewer have signed off.

Motivation

Sparky is a different product (stdlib Python, :8890, read-only SSH + Prometheus). Several of its displays are worth copying:

  1. Live in-flight decode strip (N live · ~X tok/s each · Y combined) instead of a sticky last_gen gauge
  2. Token totals that survive a vLLM/process bounce
  3. Comfy VRAM high-water while rendering (idle VRAM lies)
  4. Collapse all / expand all for screen real estate
  5. Optional fabric caption (we have CX7/QSFP, not MikroTik)
  6. Probe failures must not crash the poller

Changes

  • src/lib/liveStrip.ts + LLM panel: always show idle or live strip; lifetime tokens
  • server/tokenBank.js: persist {banked,lastLive} per sparkId:port in config/token-bank.json
  • ComfyProbe: vramUsed / vramTotal / vramPeak from /system_stats
  • Spark page: Collapse all / Expand all (same localStorage as Resources/Services)
  • FabricPanel: closeable note, optional fabricNote on a spark; no switch scrape
  • Tests: token bank reset, live-strip format
  • Write-up: SPARKY-PATTERNS.md

Not in this PR: drag-reorder (CSS grid GPU row-span), MikroTik/RoCE poller, AuthGate, admin token.

Test Plan

  • npm test — server 318, frontend 25 (local Mac)
  • vite build — no AuthGate strings in dist
  • Isolated smoke :5555 / :5599 loopback
  • Reviewer: open a spark tab (not Overview); hard-refresh
  • Reviewer: Collapse all / Fabric Close
  • Reviewer: live strip needs an actual decode

Notes for Reviewers

  • Features live on spark detail, not Overview.
  • Live strip is idle — no in-flight decode until requestsRunning > 0 and generationTps > 0.
  • Token bank writes config/token-bank.json (gitignored).
  • settings.json runtime drift is not in this commit.

Fork: MikeGibbsOnyx/sparkDash branch feat/sparky-patterns-local (8ae0c32).

Port selected Command Center patterns into sparkDash without dropping
Node/Vite or making the dashboard read-only.

- Live in-flight decode strip (idle-safe)
- Token bank across engine restarts
- Comfy VRAM used/total + peak while rendering
- Collapse all / Expand all (persisted)
- Closeable Fabric note (no MikroTik scrape)
- Token-bank I/O never throws into the poller

Do not merge until Mia + second reviewer sign off.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant