I have a street name I want to see on a rendered tile at zoom level 15, but not level 14. How do I figure out what my minimum/maxixum scales for the rule-based labeling need to be?
It's worth noting that the scale levels specified on various websites are true for CRS EPSG:3857. They are "correct" (i.e. match actual ground scale) at the equator.
If you use a different CRS, such as UTM or MTM-based, for your project/canvas (and generate XYZ or MBTiles etc as an ancillary output or export to use on other devices), these numbers need changing.
In particular, in this instance you should multiply the specified EPSG:3857 numbers by cos(latitude). So e.g. at latitude 45 (cos = 1/sqrt(2)), zoom 14 is at about 1:25,500 "actual scale". You don't need to get it exactly right, so e.g. at this latitude, a scale dependent visibility threshold at 1:20000 will work just as at the equator, but if you work at all in more polar regions and use mixed CRSes, this can throw you (as it has thrown me).
You can set the default scales matching the OpenStreetMap zoom levels when browsing using this post https://gisforthought.com/qgis-openstreetmap-scales/
I've also made a script to display the zoom level when zooming in/zooming out https://twitter.com/ThomasG77/status/1271610760779743238?s=20
You may prefer to install the plugin "Zoom Level" (search it in the plugins list to install)