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
rdmbair15m5(Apple Silicon M5, local dev host): Built, tested 191/191 tests, deployed to/Applications/HyperCPU.app, live feed reporting"MacBook Air 15-inch (M5, 2025)"with 10 cores (6E + 4S).rdmsm4x(Apple Silicon M4 Max, canonical hub): Merged, tested 191/191 tests, built Universal2 bundle, deployed to/Applications/HyperCPU.app, live feed reporting"MacBook Pro 16-inch (M4 Max, 2024)"with 16 cores (4E + 12P).rdmpw3265m(Intel Xeon W-3265M, Mac Pro 7,1): Universal2 binary deployed to/Applications/HyperCPU.app, live feed reporting"Mac Pro (2019, Workstation)"with 48 cores and PCIe slot inventory.rdmpw3275m(Intel Xeon W-3275M, Mac Pro 7,1): Universal2 binary deployed to/Applications/HyperCPU.app, live feed reporting"Mac Pro (2019, Workstation)"with 56 cores and active per-core telemetry.
Key Changes
PowerGadgetCore/Models/HardwareTelemetrySnapshot.swift:- Added optional workstation fields
afterburner: AfterburnerTelemetry?andpcieInventory: PCIeInventoryTelemetry?with default= nilparameters to maintain 100% API compatibility across all test suites.
- Added optional workstation fields
PowerGadgetCore/Coordinator/TelemetryDispatchCoordinator.swift:- In
sampleIntelSnapshot: SampledAfterburnerCollector.shared.collect()andPCIeInventoryCollector.shared.collect()and wired present instances into the hardware snapshot.
- In
PowerGadgetCore/Relay/TelemetryRelayService.swift:- Added
marketingModelName: String?toHyperCPUTelemetryPacket.HostMetadata, looked up viaMacModelRegistry.shared.lookup. - Added
workstation: WorkstationRelayMetrics?toHyperCPUTelemetryPacketbroadcasting Afterburner accelerator presence, PCIe slot occupation, total slots (8), and aggregate PCIe bandwidth.
- Added
PowerGadgetUI/ViewModels/DashboardViewModel.swift&MenuBarViewModel.swift:- Added
marketingModelNameproperty dynamically resolved fromMacModelRegistry.
- Added
PowerGadgetUI/Dashboard/DashboardView.swift&MenuBarPopoverView.swift:- Display marketing model name prominently in Dashboard header and MenuBar popover view.
PowerGadgetApp/HyperCPUApp.swift:- Ensured background streaming
(
menuBarViewModel.startStreaming()) activates immediately upon app launch ininit()and via.taskonMenuBarLabelViewso telemetry relay is continuous regardless of whether the Dashboard window is open.
- Ensured background streaming
(
Tests/PowerGadgetCoreTests/TelemetryRelayAndHistogramTests.swift:- Added tests verifying
marketingModelNamein telemetry packets and encoding/decoding of workstation telemetry packets on Mac Pro platforms (191 total tests passing across 20 suites).
- Added tests verifying
Verification Evidence
swift test: 191 tests across 20 suites passed in 4.76s onrdmbair15m5and 5.85s onrdmsm4x.lipo -archs /Applications/HyperCPU.app/Contents/MacOS/HyperCPU:x86_64 arm64(Universal2).codesign -dvvv: TeamIdentifierZU2882L4HT, designated requirements satisfied.- Live
/tmp/com.eastcoastscience.hypercpu.telemetry.jsonverification across 4 fleet machines confirming exact marketing model names and core breakdowns.
How to Undo
git checkout 4daad00
bash scripts/build.sh