Why is my health check marked Stale?
Because your rules or your trades have changed since the last run. The cached result is still shown, but it was written about a state you are no longer in.
The result is cached against a fingerprint of the setup, its rules and its trades. Edit a rule, or log another trade on that setup, and the fingerprint no longer matches what the cached result was written about.
Rather than silently deleting it or silently keeping it, the card marks it Stale, keeps showing it, and turns the button amber and relabels it Refresh. The old reading is still informative — it just does not know about your last three trades.
Nothing expires on a timer. A health check from two weeks ago on a setup you have not touched or traded since is not stale, because nothing it was based on has changed.