The dashboard linter checks that rate/irate/increase queries use the Grafana $__rate_interval to ensure that the ranges are large enough to capture sufficient datapoints to calculate.
However, in recording rules, the ranges must be hardcoded, and can be too short for a given scrape interval.
The linting of recording rules should allow some way to specify a target scrape interval, and warn when the range is too small to produce a result.