The hook's effect clears the snapshot only after commit, so the first busy
render still returned the pre-turn breakdown; the gauge re-checked busy but
ContextUsagePanel did not and briefly painted stale categories. Gate the
hook's return on !busy so gauge and panel share one owner, and inline the
gauge merge back into useMemo (drops the exported resolveContextGaugeUsage
helper and its #87903 narration).