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
Seen 2026-09-15 22:03 (launch night), while preparing a quiet baseline for the power receipt (#353)
/Applications/M1K3.app (the 362 tree, launched 14:05, 8 h uptime, Lil resident, MCP server on) at 30–38 % CPU by top over several 2–3 s samples, with visible set to false on the process (every window ordered out) and get_status reporting nothing in flight (not speaking, no mic, not answering). Resident 5.1 GB. log show --last 3m --predicate 'subsystem == "app.m1k3"' printed no lines at all — whatever this is, it is silent.
Per thread (ps -M): main thread ~16 % (priority 46T), two young worker threads ~11 % and ~10 % (each with only ~6 s of lifetime CPU — spawned recently), a fourth at ~4 %.
Hottest non-wait leaf frames (sample M1K3 5, sort by top of stack): _dispatch_timer_heap_resift (466), RB::SurfacePool::collect (RenderBox, 70), CABackingStoreCollect_ (62), _dispatch_source_invoke (72) — everything else is __psynch_cvwait / semaphore_wait_trap (the usd/tbb pools parked). Reads as SwiftUI redrawing something on a timer while nothing is visible.
Earlier the same evening, with the main window on screen, top read M1K3 at ~49 % beside WindowServer at ~51 %.
Why it matters
#293 (2026-09-12) measured the fanless idle at 0.4–1.8 % on the merged build with the same defaults (HUD on, companion set). Either 1.0 regressed between #293 and #340, or a setting on this Mac (notch HUD, menu-bar pet, screensaver poll, heartbeat) reintroduced a per-frame loop. It is also the eco story's own receipt: an idle M1K3 that burns a third of a core is not a resident, it is a fan.
First moves
Reproduce on a fresh launch of the installed build: top -pid for 60 s with the window hidden, then toggle notch HUD / menu-bar creature / heartbeat one at a time.
Seen 2026-09-15 22:03 (launch night), while preparing a quiet baseline for the power receipt (#353)
/Applications/M1K3.app(the 362 tree, launched 14:05, 8 h uptime, Lil resident, MCP server on) at 30–38 % CPU bytopover several 2–3 s samples, withvisibleset to false on the process (every window ordered out) andget_statusreporting nothing in flight (not speaking, no mic, not answering). Resident 5.1 GB.log show --last 3m --predicate 'subsystem == "app.m1k3"'printed no lines at all — whatever this is, it is silent.Per thread (
ps -M): main thread ~16 % (priority 46T), two young worker threads ~11 % and ~10 % (each with only ~6 s of lifetime CPU — spawned recently), a fourth at ~4 %.Hottest non-wait leaf frames (
sample M1K3 5, sort by top of stack):_dispatch_timer_heap_resift(466),RB::SurfacePool::collect(RenderBox, 70),CABackingStoreCollect_(62),_dispatch_source_invoke(72) — everything else is__psynch_cvwait/semaphore_wait_trap(the usd/tbb pools parked). Reads as SwiftUI redrawing something on a timer while nothing is visible.Earlier the same evening, with the main window on screen,
topread M1K3 at ~49 % beside WindowServer at ~51 %.Why it matters
#293 (2026-09-12) measured the fanless idle at 0.4–1.8 % on the merged build with the same defaults (HUD on, companion set). Either 1.0 regressed between #293 and #340, or a setting on this Mac (notch HUD, menu-bar pet, screensaver poll, heartbeat) reintroduced a per-frame loop. It is also the eco story's own receipt: an idle M1K3 that burns a third of a core is not a resident, it is a fan.
First moves
top -pidfor 60 s with the window hidden, then toggle notch HUD / menu-bar creature / heartbeat one at a time.samplewith the window hidden and match the timer againstMenuBarLabel/AudioCaptureBackdrop(TimelineViewcapped at 30 fps in perf(avatar): unmount hidden RealityViews, pause the rest — a fanless idle (33-49% → <2% CPU) #293 — a cap is still 30 redraws a second if the view is mounted) and the notch HUD's drive loop (NotchHUDVisibility.wakeValve).sampleDisplayLink count +top), notheap.Found while measuring, not fixed here — the power receipt's idle window will carry whatever this costs until it is.