Fleet changelogs · dev.ecs0.net
rdmbair15m5-changelog-20260918-1339-hypercpu-marketing-model-enrichment-and-workstation-telemetry

rdmbair15m5-changelog-20260918-1339-hypercpu-marketing-model-enrichment-and-workstation-telemetry

Enriched HyperCPU Dashboard, MenuBar, and Voight telemetry relay with precise hardware marketing names (MacModelRegistry) and Intel workstation PCIe/Afterburner telemetry; verified live cross-fleet on Apple Silicon and Intel Mac Pro.

Summary

This work completes the end-to-end integration of marketing model names into HyperCPU UI and telemetry streaming, addressing the previous ambiguity where all machines showed raw identifiers or generic chip strings. In addition, staged Intel workstation telemetry (AfterburnerCollector and PCIeInventoryCollector) was integrated into the core snapshot and relay pipeline, ensuring Mac Pro systems report PCIe slot counts, bus bandwidth, and accelerator card states.

Scope & Fleet Hosts Verified

Key Changes

  1. PowerGadgetCore/Models/HardwareTelemetrySnapshot.swift:
    • Added optional workstation fields afterburner: AfterburnerTelemetry? and pcieInventory: PCIeInventoryTelemetry? with default = nil parameters to maintain 100% API compatibility across all test suites.
  2. PowerGadgetCore/Coordinator/TelemetryDispatchCoordinator.swift:
    • In sampleIntelSnapshot: Sampled AfterburnerCollector.shared.collect() and PCIeInventoryCollector.shared.collect() and wired present instances into the hardware snapshot.
  3. PowerGadgetCore/Relay/TelemetryRelayService.swift:
    • Added marketingModelName: String? to HyperCPUTelemetryPacket.HostMetadata, looked up via MacModelRegistry.shared.lookup.
    • Added workstation: WorkstationRelayMetrics? to HyperCPUTelemetryPacket broadcasting Afterburner accelerator presence, PCIe slot occupation, total slots (8), and aggregate PCIe bandwidth.
  4. PowerGadgetUI/ViewModels/DashboardViewModel.swift & MenuBarViewModel.swift:
    • Added marketingModelName property dynamically resolved from MacModelRegistry.
  5. PowerGadgetUI/Dashboard/DashboardView.swift & MenuBarPopoverView.swift:
    • Display marketing model name prominently in Dashboard header and MenuBar popover view.
  6. PowerGadgetApp/HyperCPUApp.swift:
    • Ensured background streaming (menuBarViewModel.startStreaming()) activates immediately upon app launch in init() and via .task on MenuBarLabelView so telemetry relay is continuous regardless of whether the Dashboard window is open.
  7. Tests/PowerGadgetCoreTests/TelemetryRelayAndHistogramTests.swift:
    • Added tests verifying marketingModelName in telemetry packets and encoding/decoding of workstation telemetry packets on Mac Pro platforms (191 total tests passing across 20 suites).

Verification Evidence

How to Undo

git checkout 4daad00
bash scripts/build.sh