It’s moderately smart - there’s a PID loop with per-component target temperatures, so it’s trying not to do more work than necessary.
(source: I wrote it, and it’s all published at https://github.com/oxidecomputer/hubris/tree/master/task/the... )
We also worked with the fan vendor to get parts with a lower minimum RPM. The stock fans idle at about 5K RPM, and ours idle at 2K, which is already enough to keep the system cool under light loads.