fix: use bounded precision for decimal aggregations
This tweaks the new behavior around decimal precision and scale. If a decimal has unbounded precision/scale, specified as `(None, None)`, then the precision/scale of an aggregation of that column will also have unbounded precision. For a decimal with some bounded precision/scale, e.g. `(18, 2)`, the precision/scale of an aggreagtion of that column will have a precision of `(38, 2)` which is the previous default maximum for bounded precision and matches up with _most_ backends.
refactor(decimal): allow user to specify precision > 38
The previous fix for decimals imposes an effective limit on decimal precision -- it can either be 38 or unbounded. In the case that the user does want to specify a bounded precision/scale that are larger than our defaults, they can now do that.
ci: run pre-commit against the full shell.nix on push
Populate the cache with the shell.nix closure on push.
refactor(summary-filter): deprecate SummaryFilter and replace with in…
…line semi-joins