diff --git a/src/metabase/lib/core.cljc b/src/metabase/lib/core.cljc
index 9d3af8f64c3aa233767e59edaeec289ffc8d4085..3e5e9821d8958176de1c457e2d8a864371015c2d 100644
--- a/src/metabase/lib/core.cljc
+++ b/src/metabase/lib/core.cljc
@@ -17,6 +17,7 @@
    [metabase.lib.join :as lib.join]
    [metabase.lib.limit :as lib.limit]
    [metabase.lib.metadata.calculation :as lib.metadata.calculation]
+   [metabase.lib.metadata.composed-provider :as lib.metadata.composed-provider]
    [metabase.lib.metric :as lib.metric]
    [metabase.lib.native :as lib.native]
    [metabase.lib.normalize :as lib.normalize]
@@ -43,6 +44,7 @@
          lib.join/keep-me
          lib.limit/keep-me
          lib.metadata.calculation/keep-me
+         lib.metadata.composed-provider/keep-me
          lib.metric/keep-me
          lib.native/keep-me
          lib.normalize/keep-me
@@ -55,193 +57,198 @@
          lib.temporal-bucket/keep-me)
 
 (shared.ns/import-fns
-  [lib.aggregation
-   aggregate
-   aggregation-clause
-   aggregation-ref
-   aggregation-operator-columns
-   aggregations
-   aggregations-metadata
-   available-aggregation-operators
-   selected-aggregation-operators
-   count
-   avg
-   count-where
-   distinct
-   max
-   median
-   min
-   percentile
-   share
-   stddev
-   sum
-   sum-where
-   var
-   cum-count
-   cum-sum]
-  [lib.binning
-   available-binning-strategies
-   binning
-   with-binning]
-  [lib.breakout
-   breakout
-   breakoutable-columns
-   breakouts
-   breakouts-metadata]
-  [lib.column-group
-   columns-group-columns
-   group-columns]
-  [lib.common
-   external-op]
-  [lib.database
-   database-id]
-  [lib.expression
-   expression
-   expressions
-   expressions-metadata
-   expressionable-columns
-   expression-ref
-   +
-   -
-   *
-   /
-   case
-   coalesce
-   abs
-   log
-   exp
-   sqrt
-   ceil
-   floor
-   round
-   power
-   interval
-   relative-datetime
-   time
-   absolute-datetime
-   now
-   convert-timezone
-   get-week
-   get-year
-   get-month
-   get-day
-   get-hour
-   get-minute
-   get-second
-   get-quarter
-   datetime-add
-   datetime-subtract
-   concat
-   substring
-   replace
-   regexextract
-   length
-   trim
-   ltrim
-   rtrim
-   upper
-   lower]
-  [lib.field
-   add-field
-   field-id
-   fieldable-columns
-   fields
-   remove-field
-   with-fields]
-  [lib.filter
-   filter
-   filters
-   filterable-columns
-   filterable-column-operators
-   filter-clause
-   filter-operator
-   and
-   or
-   not
-   = !=
-   < <=
-   > >=
-   between
-   inside
-   is-null not-null
-   is-empty not-empty
-   starts-with ends-with
-   contains does-not-contain
-   time-interval
-   segment]
-  [lib.join
-   available-join-strategies
-   join
-   join-clause
-   join-condition-lhs-columns
-   join-condition-operators
-   join-condition-rhs-columns
-   join-condition-update-temporal-bucketing
-   join-conditions
-   join-fields
-   join-lhs-display-name
-   join-strategy
-   joinable-columns
-   joins
-   raw-join-strategy
-   suggested-join-condition
-   with-join-alias
-   with-join-fields
-   with-join-strategy
-   with-join-conditions]
-  [lib.limit
-   current-limit
-   limit]
-  [lib.metadata.calculation
-   column-name
-   describe-query
-   describe-top-level-key
-   display-name
-   display-info
-   suggested-name
-   type-of]
-  [lib.metric
-   available-metrics]
-  [lib.native
-   #?@(:cljs [->TemplateTags
-              TemplateTags->])
-   native-query
-   raw-native-query
-   with-native-query
-   template-tags
-   with-template-tags
-   required-native-extras
-   native-extras
-   with-native-extras
-   with-different-database
-   extract-template-tags]
-  [lib.order-by
-   change-direction
-   order-by
-   order-by-clause
-   order-bys
-   orderable-columns]
-  [lib.normalize
-   normalize]
-  [lib.query
-   query]
-  [lib.ref
-   ref]
-  [lib.remove-replace
-   remove-clause
-   remove-join
-   rename-join
-   replace-clause
-   replace-join]
-  [lib.segment
-   available-segments]
-  [lib.stage
-   append-stage
-   drop-stage]
-  [lib.temporal-bucket
-   describe-temporal-unit
-   describe-temporal-interval
-   describe-relative-datetime
-   available-temporal-buckets
-   temporal-bucket
-   with-temporal-bucket])
+ [lib.aggregation
+  aggregate
+  aggregation-clause
+  aggregation-ref
+  aggregation-operator-columns
+  aggregations
+  aggregations-metadata
+  available-aggregation-operators
+  selected-aggregation-operators
+  count
+  avg
+  count-where
+  distinct
+  max
+  median
+  min
+  percentile
+  share
+  stddev
+  sum
+  sum-where
+  var
+  cum-count
+  cum-sum]
+ [lib.binning
+  available-binning-strategies
+  binning
+  with-binning]
+ [lib.breakout
+  breakout
+  breakoutable-columns
+  breakouts
+  breakouts-metadata]
+ [lib.column-group
+  columns-group-columns
+  group-columns]
+ [lib.common
+  external-op]
+ [lib.database
+  database-id]
+ [lib.expression
+  expression
+  expressions
+  expressions-metadata
+  expressionable-columns
+  expression-ref
+  +
+  -
+  *
+  /
+  case
+  coalesce
+  abs
+  log
+  exp
+  sqrt
+  ceil
+  floor
+  round
+  power
+  interval
+  relative-datetime
+  time
+  absolute-datetime
+  now
+  convert-timezone
+  get-week
+  get-year
+  get-month
+  get-day
+  get-hour
+  get-minute
+  get-second
+  get-quarter
+  datetime-add
+  datetime-subtract
+  concat
+  substring
+  replace
+  regexextract
+  length
+  trim
+  ltrim
+  rtrim
+  upper
+  lower]
+ [lib.field
+  add-field
+  field-id
+  fieldable-columns
+  fields
+  remove-field
+  with-fields]
+ [lib.filter
+  filter
+  filters
+  filterable-columns
+  filterable-column-operators
+  filter-clause
+  filter-operator
+  and
+  or
+  not
+  = !=
+  < <=
+  > >=
+  between
+  inside
+  is-null not-null
+  is-empty not-empty
+  starts-with ends-with
+  contains does-not-contain
+  time-interval
+  segment]
+ [lib.join
+  available-join-strategies
+  join
+  join-clause
+  join-condition-lhs-columns
+  join-condition-operators
+  join-condition-rhs-columns
+  join-condition-update-temporal-bucketing
+  join-conditions
+  join-fields
+  join-lhs-display-name
+  join-strategy
+  joinable-columns
+  joins
+  raw-join-strategy
+  suggested-join-condition
+  with-join-alias
+  with-join-fields
+  with-join-strategy
+  with-join-conditions]
+ [lib.limit
+  current-limit
+  limit]
+ [lib.metadata.calculation
+  column-name
+  describe-query
+  describe-top-level-key
+  display-name
+  display-info
+  metadata
+  returned-columns
+  suggested-name
+  type-of
+  visible-columns]
+ [lib.metadata.composed-provider
+  composed-metadata-provider]
+ [lib.metric
+  available-metrics]
+ [lib.native
+  #?@(:cljs [->TemplateTags
+             TemplateTags->])
+  native-query
+  raw-native-query
+  with-native-query
+  template-tags
+  with-template-tags
+  required-native-extras
+  native-extras
+  with-native-extras
+  with-different-database
+  extract-template-tags]
+ [lib.order-by
+  change-direction
+  order-by
+  order-by-clause
+  order-bys
+  orderable-columns]
+ [lib.normalize
+  normalize]
+ [lib.query
+  query]
+ [lib.ref
+  ref]
+ [lib.remove-replace
+  remove-clause
+  remove-join
+  rename-join
+  replace-clause
+  replace-join]
+ [lib.segment
+  available-segments]
+ [lib.stage
+  append-stage
+  drop-stage]
+ [lib.temporal-bucket
+  describe-temporal-unit
+  describe-temporal-interval
+  describe-relative-datetime
+  available-temporal-buckets
+  temporal-bucket
+  with-temporal-bucket])
diff --git a/src/metabase/lib/field.cljc b/src/metabase/lib/field.cljc
index 952f17a665ea7ae09b2512de10c177cd3608c6f8..d6303d83c2455cbe6e0db242921bf793a27a6ded 100644
--- a/src/metabase/lib/field.cljc
+++ b/src/metabase/lib/field.cljc
@@ -122,9 +122,9 @@
                     {:base-type base-type})
                   (when-let [effective-type ((some-fn :effective-type :base-type) opts)]
                     {:effective-type effective-type})
-                  ;; TODO -- some of the other stuff in `opts` probably ought to be merged in here as well. Also, if the Field is
-                  ;; temporally bucketed, the base-type/effective-type would probably be affected, right? We should probably be
-                  ;; taking that into consideration?
+                  ;; TODO -- some of the other stuff in `opts` probably ought to be merged in here as well. Also, if
+                  ;; the Field is temporally bucketed, the base-type/effective-type would probably be affected, right?
+                  ;; We should probably be taking that into consideration?
                   (when-let [binning (:binning opts)]
                     {::binning binning})
                   (when-let [unit (:temporal-unit opts)]
diff --git a/src/metabase/query_processor/middleware/annotate.clj b/src/metabase/query_processor/middleware/annotate.clj
index 21ec1aeb2ea7985695a918216be7000a1f61ad34..b9e5c6ee9e06c9c91638073e9785438c02dd38e0 100644
--- a/src/metabase/query_processor/middleware/annotate.clj
+++ b/src/metabase/query_processor/middleware/annotate.clj
@@ -347,7 +347,7 @@
     ;; why is this the case? Who knows! But that's the old pre-MLv2 behavior. I think we should try to fix it, but it's
     ;; probably going to involve updating a ton of tests that encode the old behavior.
     (binding [lib.metadata.calculation/*display-name-style* :long]
-      (-> (lib.metadata.calculation/metadata (mlv2-query inner-query) -1 mlv2-clause)
+      (-> (lib/metadata (mlv2-query inner-query) -1 mlv2-clause)
           (update-keys u/->snake_case_en)
           (dissoc :lib/type)))))
 
@@ -362,7 +362,7 @@
                     {:error/message "legacy inner-query with :source-table or :source-query"}
                     (some-fn :source-table :source-query)]]
    ag-clause]
-  (lib.metadata.calculation/column-name (mlv2-query inner-query) (lib.convert/->pMBQL ag-clause)))
+  (lib/column-name (mlv2-query inner-query) (lib.convert/->pMBQL ag-clause)))
 
 
 ;;; ----------------------------------------- Putting it all together (MBQL) -----------------------------------------
diff --git a/src/metabase/query_processor/store.clj b/src/metabase/query_processor/store.clj
index 662fcb07e4befc6608a3ed1bbee061abaae8b76e..56592372dff4801b5a5149fc81eed0b52d4a71a1 100644
--- a/src/metabase/query_processor/store.clj
+++ b/src/metabase/query_processor/store.clj
@@ -13,8 +13,7 @@
   but fetching all Fields in a single pass and storing them for reuse is dramatically more efficient than fetching
   those Fields potentially dozens of times in a single query execution."
   (:require
-   [metabase.lib.metadata.composed-provider
-    :as lib.metadata.composed-provider]
+   [metabase.lib.core :as lib]
    [metabase.lib.metadata.jvm :as lib.metadata.jvm]
    [metabase.lib.metadata.protocols :as lib.metadata.protocols]
    [metabase.lib.schema.id :as lib.schema.id]
@@ -344,6 +343,6 @@
   "Create a new MLv2 metadata provider that uses the QP store."
   []
   (cached ::metadata-provider
-    (lib.metadata.composed-provider/composed-metadata-provider
+    (lib/composed-metadata-provider
      (base-metadata-provider)
      (lib.metadata.jvm/application-database-metadata-provider (:id (database))))))
diff --git a/test/metabase/lib/aggregation_test.cljc b/test/metabase/lib/aggregation_test.cljc
index 8b12f0080262b0168d0ff3f6334462d43e8cd78e..02b9541effd38811221926fdfd6b4185bb397076 100644
--- a/test/metabase/lib/aggregation_test.cljc
+++ b/test/metabase/lib/aggregation_test.cljc
@@ -5,7 +5,6 @@
    [medley.core :as m]
    [metabase.lib.convert :as lib.convert]
    [metabase.lib.core :as lib]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
    [metabase.lib.query :as lib.query]
    [metabase.lib.schema.expression :as lib.schema.expression]
    [metabase.lib.test-metadata :as meta]
@@ -36,10 +35,10 @@
                 (op venues-category-id-metadata)))))))
 
 (defn- aggregation-display-name [aggregation-clause]
-  (lib.metadata.calculation/display-name lib.tu/venues-query -1 aggregation-clause))
+  (lib/display-name lib.tu/venues-query -1 aggregation-clause))
 
 (defn- aggregation-column-name [aggregation-clause]
-  (lib.metadata.calculation/column-name lib.tu/venues-query -1 aggregation-clause))
+  (lib/column-name lib.tu/venues-query -1 aggregation-clause))
 
 (deftest ^:parallel aggregation-names-test
   (are [aggregation-clause expected] (= expected
@@ -103,7 +102,7 @@
 ;;; make sure that given an existing query, the expected description was generated correctly.
 
 (defn- describe-legacy-query [query]
-  (lib.metadata.calculation/describe-query (lib.query/query meta/metadata-provider (lib.convert/->pMBQL query))))
+  (lib/describe-query (lib.query/query meta/metadata-provider (lib.convert/->pMBQL query))))
 
 (deftest ^:parallel describe-multiple-aggregations-test
   (let [query {:database (meta/id)
@@ -132,7 +131,7 @@
    (col-info-for-aggregation-clause query -1 clause))
 
   ([query stage clause]
-   (lib.metadata.calculation/metadata query stage clause)))
+   (lib/metadata query stage clause)))
 
 (deftest ^:parallel col-info-for-aggregation-clause-test
   (are [clause expected] (=? expected
@@ -200,7 +199,7 @@
 
 (deftest ^:parallel type-of-sum-test
   (is (= :type/BigInteger
-         (lib.metadata.calculation/type-of
+         (lib/type-of
           lib.tu/venues-query
           [:sum
            {:lib/uuid (str (random-uuid))}
@@ -229,7 +228,7 @@
         (is (= (condp = (first arg)
                  :field :type/BigInteger
                  :type/Integer)
-               (lib.metadata.calculation/type-of lib.tu/venues-query clause)))))))
+               (lib/type-of lib.tu/venues-query clause)))))))
 
 (deftest ^:parallel expression-ref-inside-aggregation-type-of-test
   (let [query (-> lib.tu/venues-query
@@ -611,7 +610,7 @@
                :name           "sum"
                :display-name   "Sum of Price"
                :lib/source     :source/aggregations}
-              (lib.metadata.calculation/metadata query (first (lib/aggregations-metadata query -1))))))))
+              (lib/metadata query (first (lib/aggregations-metadata query -1))))))))
 
 (deftest ^:parallel count-aggregation-type-test
   (testing "Count aggregation should produce numeric columns"
@@ -632,7 +631,7 @@
     (is (=? {:stages [{:aggregation [[:var {} [:field {} (meta/id :venues :price)]]]}]}
             query))
     (is (= "Venues, Variance of Price"
-           (lib.metadata.calculation/describe-query query)))))
+           (lib/describe-query query)))))
 
 (deftest ^:parallel aggregation-ref-display-info-test
   (let [query  (-> lib.tu/venues-query
@@ -640,18 +639,18 @@
         ag-uuid (:lib/source-uuid (first (lib/aggregations-metadata query)))
         ag-ref [:aggregation {:lib/uuid "8e76cd35-465d-4a2b-a03a-55857f07c4e0", :effective-type :type/Float} ag-uuid]]
     (is (= :type/Float
-           (lib.metadata.calculation/type-of query ag-ref)))
+           (lib/type-of query ag-ref)))
     (is (= "Average of Price + 1"
-           (lib.metadata.calculation/display-name query ag-ref)))
+           (lib/display-name query ag-ref)))
     (is (=? {:lib/type        :metadata/column
              :lib/source      :source/aggregations
              :display-name    "Average of Price + 1"
              :effective-type  :type/Float
              :lib/source-uuid ag-uuid}
-            (lib.metadata.calculation/metadata query ag-ref)))
+            (lib/metadata query ag-ref)))
     (is (=? {:display-name   "Average of Price + 1"
              :effective-type :type/Float}
-            (lib.metadata.calculation/display-info query ag-ref)))))
+            (lib/display-info query ag-ref)))))
 
 (deftest ^:parallel aggregate-should-drop-invalid-parts
   (let [query (-> lib.tu/venues-query
@@ -720,7 +719,7 @@
               :lib/source-uuid          string?
               :lib/source-column-alias  "sum"
               :lib/desired-column-alias "sum"}]
-            (lib.metadata.calculation/returned-columns query)))))
+            (lib/returned-columns query)))))
 
 (deftest ^:parallel count-display-name-test
   (testing "#31255"
@@ -746,7 +745,7 @@
                   "query")
               (is (= [(expected (if field? :with-field :without-field))]
                      (map (partial lib/display-name query)
-                          (lib.metadata.calculation/returned-columns query)))
+                          (lib/returned-columns query)))
                   "display name"))))))))
 
 (deftest ^:parallel aggregation-name-from-previous-stage-test
diff --git a/test/metabase/lib/card_test.cljc b/test/metabase/lib/card_test.cljc
index 0a756831a1343356683e98c61060024dfacc2efc..10b3677cbb7c71c3b5c819764027e9a7beda5462 100644
--- a/test/metabase/lib/card_test.cljc
+++ b/test/metabase/lib/card_test.cljc
@@ -3,8 +3,6 @@
    [clojure.set :as set]
    [clojure.test :refer [deftest is testing]]
    [metabase.lib.core :as lib]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
-   [metabase.lib.metadata.composed-provider :as lib.metadata.composed-provider]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-util :as lib.tu]
    [metabase.util :as u]
@@ -26,7 +24,7 @@
                 :lib/source               :source/card
                 :lib/source-column-alias  "count"
                 :lib/desired-column-alias "count"}]
-              (lib.metadata.calculation/returned-columns query)))
+              (lib/returned-columns query)))
       (testing `lib/display-info
         (is (=? [{:name                   "USER_ID"
                   :display-name           "User ID"
@@ -47,7 +45,7 @@
                   :is-from-join           false
                   :is-calculated          false
                   :is-implicitly-joinable false}]
-                (for [col (lib.metadata.calculation/returned-columns query)]
+                (for [col (lib/returned-columns query)]
                   (lib/display-info query col))))))))
 
 (deftest ^:parallel card-source-query-metadata-test
@@ -67,7 +65,7 @@
                   (-> col
                       (assoc :lib/source :source/card)
                       (dissoc :fk-target-field-id)))
-                (lib.metadata.calculation/returned-columns query)))))))
+                (lib/returned-columns query)))))))
 
 (deftest ^:parallel card-results-metadata-merge-metadata-provider-metadata-test
   (testing "Merge metadata from the metadata provider into result-metadata (#30046)"
@@ -79,12 +77,12 @@
                 :lib/desired-column-alias "USER_ID"}
                {:lib/type :metadata/column
                 :name     "count"}]
-              (lib.metadata.calculation/returned-columns query))))))
+              (lib/returned-columns query))))))
 
 (deftest ^:parallel visible-columns-use-result--metadata-test
   (testing "visible-columns should use the Card's `:result-metadata` (regardless of what's actually in the Card)"
     (let [venues-query (lib/query
-                        (lib.metadata.composed-provider/composed-metadata-provider
+                        (lib/composed-metadata-provider
                          (lib.tu/mock-metadata-provider
                           {:cards [(assoc (:orders lib.tu/mock-cards) :dataset-query lib.tu/venues-query)]})
                          meta/metadata-provider)
@@ -92,4 +90,4 @@
       (is (= ["ID" "SUBTOTAL" "TOTAL" "TAX" "DISCOUNT" "QUANTITY" "CREATED_AT" "PRODUCT_ID" "USER_ID"]
              (mapv :name (get-in lib.tu/mock-cards [:orders :result-metadata]))))
       (is (= ["ID" "SUBTOTAL" "TOTAL" "TAX" "DISCOUNT" "QUANTITY" "CREATED_AT" "PRODUCT_ID" "USER_ID"]
-             (mapv :name (lib.metadata.calculation/visible-columns venues-query)))))))
+             (mapv :name (lib/visible-columns venues-query)))))))
diff --git a/test/metabase/lib/database_test.cljc b/test/metabase/lib/database_test.cljc
index 9e4a68ad5a0f7af57e3099c131d408e7447cc558..6ebe47a0981acd67c51677781f1fb2eb2e136674 100644
--- a/test/metabase/lib/database_test.cljc
+++ b/test/metabase/lib/database_test.cljc
@@ -2,8 +2,6 @@
   (:require
    [clojure.test :refer [deftest is testing]]
    [metabase.lib.core :as lib]
-   [metabase.lib.metadata.composed-provider
-    :as lib.metadata.composed-provider]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-util :as lib.tu]
    [metabase.mbql.schema :as mbql.s]))
@@ -26,7 +24,7 @@
             (let [query (assoc query :lib/metadata meta/metadata-provider)]
               (is (nil? (lib/database-id query)))))
           (testing "CardMetadata is missing `:database-id`"
-            (let [metadata-provider (lib.metadata.composed-provider/composed-metadata-provider
+            (let [metadata-provider (lib/composed-metadata-provider
                                      meta/metadata-provider
                                      (lib.tu/mock-metadata-provider
                                       {:cards [{:name          "My Card"
diff --git a/test/metabase/lib/expression_test.cljc b/test/metabase/lib/expression_test.cljc
index 07b619ccaf8bfabe314281c7f8b3ca47c91c4fa4..aba11cd7dfa125fb96bb21ff77d852fc538dc8f0 100644
--- a/test/metabase/lib/expression_test.cljc
+++ b/test/metabase/lib/expression_test.cljc
@@ -5,7 +5,6 @@
    [malli.core :as mc]
    [metabase.lib.core :as lib]
    [metabase.lib.expression :as lib.expression]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
    [metabase.lib.schema :as lib.schema]
    [metabase.lib.schema.expression :as lib.schema.expression]
    [metabase.lib.test-metadata :as meta]
@@ -88,7 +87,7 @@
            :name         "double-price"
            :display-name "double-price"
            :lib/source   :source/expressions}
-          (lib.metadata.calculation/metadata
+          (lib/metadata
             (-> lib.tu/venues-query
                 (lib/expression "double-price"
                                 (lib/* (lib.tu/field-clause :venues :price {:base-type :type/Integer}) 2)))
@@ -107,7 +106,7 @@
               :display-name "prev_month"
               :base-type    :type/DateTime
               :lib/source   :source/expressions}]
-            (lib.metadata.calculation/returned-columns query)))))
+            (lib/returned-columns query)))))
 
 (deftest ^:parallel date-interval-names-test
   (let [clause [:datetime-add
@@ -116,9 +115,9 @@
                 -1
                 :day]]
     (is (= "DATE_minus_1_day"
-           (lib.metadata.calculation/column-name lib.tu/venues-query -1 clause)))
+           (lib/column-name lib.tu/venues-query -1 clause)))
     (is (= "Date - 1 day"
-           (lib.metadata.calculation/display-name lib.tu/venues-query -1 clause)))))
+           (lib/display-name lib.tu/venues-query -1 clause)))))
 
 (deftest ^:parallel expression-reference-names-test
   (let [query (-> lib.tu/venues-query
@@ -130,20 +129,20 @@
                {:lib/uuid (str (random-uuid))}
                [:expression {:lib/uuid (str (random-uuid))} "double-price"]]]
     (is (= "Sum of double-price"
-           (lib.metadata.calculation/display-name query -1 expr)))
+           (lib/display-name query -1 expr)))
     (is (= "sum"
-           (lib.metadata.calculation/column-name query -1 expr)))))
+           (lib/column-name query -1 expr)))))
 
 (deftest ^:parallel coalesce-names-test
   (let [clause [:coalesce {} (lib.tu/field-clause :venues :name) "<Venue>"]]
     (is (= "NAME"
-           (lib.metadata.calculation/column-name lib.tu/venues-query -1 clause)))
+           (lib/column-name lib.tu/venues-query -1 clause)))
     (is (= "Name"
-           (lib.metadata.calculation/display-name lib.tu/venues-query -1 clause)))))
+           (lib/display-name lib.tu/venues-query -1 clause)))))
 
 (defn- infer-first
   [expr]
-  (lib.metadata.calculation/metadata
+  (lib/metadata
     (-> lib.tu/venues-query
         (lib/expression "expr" expr))
     -1
@@ -190,7 +189,7 @@
            :name         "last-login-plus-2"
            :display-name "last-login-plus-2"
            :lib/source   :source/expressions}
-          (lib.metadata.calculation/metadata
+          (lib/metadata
            (-> lib.tu/venues-query
                (lib/expression "last-login-plus-2"
                                [:datetime-add
@@ -206,7 +205,7 @@
     (is (thrown-with-msg?
           #?(:clj Throwable :cljs js/Error)
           #"No expression named \"double-price\""
-          (lib.metadata.calculation/metadata
+          (lib/metadata
             (-> lib.tu/venues-query
                 (lib/expression "one-hundred" (lib/+ 100 0)))
             -1
@@ -226,7 +225,7 @@
           (is (= (condp = arg-2
                    1   :type/Integer
                    1.0 :type/Number)
-                 (lib.metadata.calculation/type-of lib.tu/venues-query clause)))))
+                 (lib/type-of lib.tu/venues-query clause)))))
       (testing "/ should always return type/Float"
         (doseq [arg-2 [1 1.0]
                 :let  [clause [:/ {:lib/uuid (str (random-uuid))} field arg-2]]]
@@ -234,7 +233,7 @@
             (is (= :type/Float
                    (lib.schema.expression/type-of clause)))
             (is (= :type/Float
-                   (lib.metadata.calculation/type-of lib.tu/venues-query clause)))))))))
+                   (lib/type-of lib.tu/venues-query clause)))))))))
 
 (deftest ^:parallel expressions-names-test
   (testing "expressions should include the original expression name"
@@ -286,7 +285,7 @@
     (is (= ["ID" "NAME" "a"] (expressionable-expressions-for-position 1)))
     (is (= ["ID" "NAME" "a" "b"] (expressionable-expressions-for-position nil)))
     (is (= ["ID" "NAME" "a" "b"] (expressionable-expressions-for-position 2)))
-    (is (= (lib.metadata.calculation/visible-columns query)
+    (is (= (lib/visible-columns query)
            (lib/expressionable-columns query nil)))))
 
 (deftest ^:parallel infix-display-name-with-expressions-test
@@ -298,4 +297,4 @@
                                                   (lib.tu/field-literal-ref query "QUANTITY"))))]
       (is (= ["ID" "Subtotal" "Total" "Tax" "Discount" "Quantity" "Created At" "Product ID" "User ID" "Unit price"]
              (map (partial lib/display-name query)
-                  (lib.metadata.calculation/returned-columns query)))))))
+                  (lib/returned-columns query)))))))
diff --git a/test/metabase/lib/field_test.cljc b/test/metabase/lib/field_test.cljc
index 353257da75bed8f81aaafffe583af671fa9f83c2..32284d50d6a12133c1fcde343b2b489409e7f5c1 100644
--- a/test/metabase/lib/field_test.cljc
+++ b/test/metabase/lib/field_test.cljc
@@ -6,9 +6,6 @@
    [metabase.lib.core :as lib]
    [metabase.lib.field :as lib.field]
    [metabase.lib.metadata :as lib.metadata]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
-   [metabase.lib.metadata.composed-provider
-    :as lib.metadata.composed-provider]
    [metabase.lib.options :as lib.options]
    [metabase.lib.schema.expression :as lib.schema.expression]
    [metabase.lib.temporal-bucket :as lib.temporal-bucket]
@@ -65,7 +62,7 @@
 
 (deftest ^:parallel col-info-combine-parent-field-names-test
   (letfn [(col-info [a-field-clause]
-            (lib.metadata.calculation/metadata
+            (lib/metadata
              {:lib/type     :mbql/query
               :lib/metadata grandparent-parent-child-metadata-provider
               :database     (meta/id)
@@ -95,7 +92,7 @@
              :display-name  "sum of User ID"
              :base-type     :type/Integer
              :semantic-type :type/FK}
-            (lib.metadata.calculation/metadata
+            (lib/metadata
              lib.tu/native-query
              -1
              [:field {:lib/uuid (str (random-uuid)), :base-type :type/Integer} "sum"])))))
@@ -132,7 +129,7 @@
       :default "Name"
       :long    "Categories → Name")
     (is (=? {:display-name "Name"}
-            (lib.metadata.calculation/metadata query -1 field)))))
+            (lib/metadata query -1 field)))))
 
 (deftest ^:parallel legacy-query-joined-field-display-name-test
   (testing "Should calculate correct display names for joined fields when source query is a legacy MBQL query (#31368)"
@@ -150,7 +147,7 @@
                            :dataset-query card-query}
           ;; legacy result metadata will already include the Join name in the `:display-name`, so simulate that. Make
           ;; sure we're not including it twice.
-          result-metadata (for [col (lib.metadata.calculation/returned-columns
+          result-metadata (for [col (lib/returned-columns
                                      (lib/query meta/metadata-provider card-query))]
                             (cond-> col
                               (:source-alias col)
@@ -162,7 +159,7 @@
                                   "Card with result metadata"
                                   (assoc card-def :result-metadata result-metadata)}]
         (testing (str \newline message)
-          (let [metadata-provider (lib.metadata.composed-provider/composed-metadata-provider
+          (let [metadata-provider (lib/composed-metadata-provider
                                    (lib.tu/mock-metadata-provider
                                     {:cards [card-def]})
                                    meta/metadata-provider)
@@ -222,7 +219,7 @@
               :unit     :day-of-month}
              (lib/temporal-bucket field))))
     (is (= "Date: Day of month"
-           (lib.metadata.calculation/display-name query -1 field)))))
+           (lib/display-name query -1 field)))))
 
 (def ^:private temporal-bucketing-mock-metadata
   "Mock metadata for testing temporal bucketing stuff.
@@ -238,7 +235,7 @@
         time-field        (assoc (meta/field-metadata :orders :created-at)
                                  :base-type      :type/Time
                                  :effective-type :type/Time)
-        metadata-provider (lib.metadata.composed-provider/composed-metadata-provider
+        metadata-provider (lib/composed-metadata-provider
                            (lib.tu/mock-metadata-provider
                             {:fields [date-field
                                       time-field]})
@@ -260,7 +257,7 @@
     (testing (str what " unit = " unit "\n\n" (u/pprint-to-str x') "\n")
       (testing "should calculate correct effective type"
         (is (= effective-type
-               (lib.metadata.calculation/type-of (:query temporal-bucketing-mock-metadata) x'))))
+               (lib/type-of (:query temporal-bucketing-mock-metadata) x'))))
       (testing "lib/temporal-bucket should return the option"
         (is (= {:lib/type :option/temporal-bucketing
                 :unit     unit}
@@ -339,14 +336,14 @@
             field))
     (testing "(lib/binning <column-metadata>)"
       (is (=? binning-typed
-              (lib/binning (lib.metadata.calculation/metadata query -1 field)))))
+              (lib/binning (lib/metadata query -1 field)))))
     (testing "(lib/binning <field-ref>)"
       (is (=? binning-typed
               (lib/binning field))))
     #?(:clj
        ;; i18n/trun doesn't work in the CLJS tests, only in proper FE, so this test is JVM-only.
        (is (= "Subtotal: 10 bins"
-              (lib.metadata.calculation/display-name query -1 field))))))
+              (lib/display-name query -1 field))))))
 
 (deftest ^:parallel with-binning-test
   (doseq [[binning1 binning2] (partition 2 1 [{:strategy :default}
@@ -420,7 +417,7 @@
   (testing "There should be no binning strategies for expressions as they are not supported (#31367)"
     (let [query (-> lib.tu/venues-query
                     (lib/expression "myadd" (lib/+ 1 (meta/field-metadata :venues :category-id))))]
-      (is (empty? (->> (lib.metadata.calculation/returned-columns query)
+      (is (empty? (->> (lib/returned-columns query)
                        (m/find-first (comp #{"myadd"} :name))
                        (lib/available-binning-strategies query)))))))
 
@@ -475,7 +472,7 @@
              {:lib/desired-column-alias "PRICE"}
              {:lib/desired-column-alias "Cat__ID"}
              {:lib/desired-column-alias "Cat__NAME"}]
-            (lib.metadata.calculation/returned-columns query)))))
+            (lib/returned-columns query)))))
 
 (deftest ^:parallel field-ref-type-of-test
   (testing "Make sure we can calculate field ref type information correctly"
@@ -483,7 +480,7 @@
       (is (= ::lib.schema.expression/type.unknown
              (lib.schema.expression/type-of clause)))
       (is (= :type/BigInteger
-             (lib.metadata.calculation/type-of lib.tu/venues-query clause))))))
+             (lib/type-of lib.tu/venues-query clause))))))
 
 (deftest ^:parallel implicitly-joinable-field-display-name-test
   (testing "Should be able to calculate a display name for an implicitly joinable Field"
@@ -516,7 +513,7 @@
   ;; this uses a legacy `card__<id>` `:table-id` intentionally; we don't currently have logic that parses this to
   ;; something like `:card-id` for Column Metadata yet. Make sure it works correctly.
   (let [query (assoc lib.tu/venues-query :lib/metadata lib.tu/metadata-provider-with-card)
-        field (lib.metadata.calculation/metadata query (assoc (lib.metadata/field query (meta/id :venues :name))
+        field (lib/metadata query (assoc (lib.metadata/field query (meta/id :venues :name))
                                                               :table-id "card__1"))]
     (is (=? {:name           "NAME"
              :display-name   "Name"
@@ -534,7 +531,7 @@
                                              :query    {:source-table (meta/id :checkins)
                                                         :aggregation  [[:count]]
                                                         :breakout     [[:field (meta/id :checkins :user-id) nil]]}}}
-          metadata-provider (lib.metadata.composed-provider/composed-metadata-provider
+          metadata-provider (lib/composed-metadata-provider
                              meta/metadata-provider
                              (lib.tu/mock-metadata-provider
                               {:cards [card-1]}))
@@ -578,14 +575,14 @@
                 :lib/source               :source/aggregations
                 :lib/source-column-alias  "avg"
                 :lib/desired-column-alias "avg"}]
-              (lib.metadata.calculation/returned-columns query))))))
+              (lib/returned-columns query))))))
 
 (deftest ^:parallel with-fields-test
   (let [query           (-> lib.tu/venues-query
                             (lib/expression "myadd" (lib/+ 1 (meta/field-metadata :venues :category-id)))
                             (lib/with-fields [(meta/field-metadata :venues :id) (meta/field-metadata :venues :name)]))
         fields-metadata (fn [query]
-                          (map (partial lib.metadata.calculation/metadata query)
+                          (map (partial lib/metadata query)
                                (lib/fields query)))
         metadatas       (fields-metadata query)]
     (testing "Expressions should be included in :fields by default (#31236)"
@@ -615,7 +612,7 @@
                             (lib/with-fields [(meta/field-metadata :venues :id)])
                             (lib/expression "myadd" (lib/+ 1 (meta/field-metadata :venues :category-id))))
         fields-metadata (fn [query]
-                          (map (partial lib.metadata.calculation/metadata query)
+                          (map (partial lib/metadata query)
                                (lib/fields query)))
         metadatas       (fields-metadata query)]
     (testing "Expressions should be included in :fields by default (#31236)"
@@ -673,7 +670,7 @@
                :lib/card-id              3
                :lib/source-column-alias  "Field 4"
                :lib/desired-column-alias "Field 4"}]
-             (lib.metadata.calculation/returned-columns query)))
+             (lib/returned-columns query)))
       (is (= {:lib/type                :metadata/column
               :base-type               :type/Text
               :effective-type          :type/Text
@@ -684,7 +681,7 @@
               :lib/source              :source/card
               :lib/source-column-alias "Field 4"
               :lib/source-uuid         "aa0e13af-29b3-4c27-a880-a10c33e55a3e"}
-             (lib.metadata.calculation/metadata
+             (lib/metadata
               query
               [:field {:lib/uuid "aa0e13af-29b3-4c27-a880-a10c33e55a3e", :base-type :type/Text} 4]))))))
 
@@ -710,7 +707,7 @@
              :lib/desired-column-alias "Categories__NAME"}
             joined-col))
     (testing "Metadata should not contain inherited join information"
-      (is (not-any? :metabase.lib.join/join-alias (lib.metadata.calculation/returned-columns query))))
+      (is (not-any? :metabase.lib.join/join-alias (lib/returned-columns query))))
     (testing "Reference a joined column from a previous stage w/ desired-column-alias and w/o join-alias"
       (is (=? {:lib/type :mbql.stage/mbql,
                :breakout [[:field
@@ -811,7 +808,7 @@
                     fields-of))))
       (testing "when given as a list"
         (is (=? fields
-                (let [returned (lib.metadata.calculation/returned-columns query -1 (first (lib/joins query -1)))]
+                (let [returned (lib/returned-columns query -1 (first (lib/joins query -1)))]
                   (-> query
                       (lib.util/update-query-stage -1 update-in [:joins 0] lib/with-join-fields (take 3 returned))
                       (#'lib.field/populate-fields-for-stage -1)
@@ -860,7 +857,7 @@
   (testing "custom expressions are ignored"
     (let [query       (-> (lib/query meta/metadata-provider (meta/table-metadata :orders))
                           (lib/expression "custom" (lib/* 3 2)))
-          expr-column (->> (lib.metadata.calculation/returned-columns query)
+          expr-column (->> (lib/returned-columns query)
                            (remove :id)
                            first)
           own-columns (filter #(= (:lib/source %) :source/table-defaults)
@@ -880,7 +877,7 @@
                                         (lib/suggested-join-condition <> -1)
                                         vector
                                         (lib/join-clause (meta/table-metadata :people)))))
-          all-columns   (lib.metadata.calculation/returned-columns query)
+          all-columns   (lib/returned-columns query)
           table-columns (lib/fieldable-columns query -1)
           join-columns  (filter #(= (:lib/source %) :source/joins) all-columns)]
       ;; Orders has 9 columns, People has 13, for 22 total.
@@ -901,7 +898,7 @@
                          (map lib/ref)
                          (map #(lib.options/update-options % dissoc :lib/uuid))
                          sorted-fields)
-                    (->> (lib.metadata.calculation/returned-columns field-query)
+                    (->> (lib/returned-columns field-query)
                          (map lib/ref)
                          sorted-fields))))
           (testing "properly adds a top-level field"
@@ -912,7 +909,7 @@
                          (map #(lib.options/update-options % dissoc :lib/uuid))
                          sorted-fields)
                     (->> (lib/add-field field-query -1 (nth table-columns 6))
-                         lib.metadata.calculation/returned-columns
+                         lib/returned-columns
                          (map lib/ref)
                          sorted-fields))))))
 
@@ -927,7 +924,7 @@
                          (map lib/ref)
                          (map #(lib.options/update-options % dissoc :lib/uuid))
                          sorted-fields)
-                    (->> (lib.metadata.calculation/returned-columns join-fields-query)
+                    (->> (lib/returned-columns join-fields-query)
                          (map lib/ref)
                          sorted-fields))))
           (testing "properly adds a join field"
@@ -938,7 +935,7 @@
                          (map #(lib.options/update-options % dissoc :lib/uuid))
                          sorted-fields)
                     (->> (lib/add-field join-fields-query -1 (nth join-columns 6))
-                         lib.metadata.calculation/returned-columns
+                         lib/returned-columns
                          (map lib/ref)
                          sorted-fields))))
           (testing "does nothing if the join field is already selected"
@@ -947,11 +944,11 @@
 
   (testing "adding implicit join fields"
     (let [query            (lib/query meta/metadata-provider (meta/table-metadata :orders))
-          viz-columns      (lib.metadata.calculation/visible-columns query)
+          viz-columns      (lib/visible-columns query)
           table-columns    (lib/fieldable-columns query -1)
           implicit-columns (filter #(= (:lib/source %) :source/implicitly-joinable) viz-columns)]
       (is (= (map #(dissoc % :selected?) table-columns)
-             (lib.metadata.calculation/returned-columns query)))
+             (lib/returned-columns query)))
       (testing "with no :fields set"
         (testing "populates the table's fields plus the implicitly joined field"
           (is (=? (->> (concat table-columns
@@ -1023,7 +1020,7 @@
   (testing "custom expressions throw an exception"
     (let [query       (-> (lib/query meta/metadata-provider (meta/table-metadata :orders))
                           (lib/expression "custom" (lib/* 3 2)))
-          expr-column (->> (lib.metadata.calculation/returned-columns query)
+          expr-column (->> (lib/returned-columns query)
                            (remove :id)
                            first)]
       (is (thrown-with-msg? #?(:cljs :default :clj Exception) #"Custom expressions cannot be de-selected."
@@ -1035,7 +1032,7 @@
                                         (lib/suggested-join-condition <> -1)
                                         vector
                                         (lib/join-clause (meta/table-metadata :people)))))
-          all-columns   (lib.metadata.calculation/returned-columns query)
+          all-columns   (lib/returned-columns query)
           table-columns (lib/fieldable-columns query -1)
           join-columns  (filter #(= (:lib/source %) :source/joins) all-columns)]
       ;; Orders has 9 columns, People has 13, for 22 total.
@@ -1053,7 +1050,7 @@
                          (map #(lib.options/update-options % dissoc :lib/uuid))
                          sorted-fields)
                     (->> (lib/remove-field field-query -1 (first table-columns))
-                         lib.metadata.calculation/returned-columns
+                         lib/returned-columns
                          (map lib/ref)
                          sorted-fields))))
           (testing "does nothing if field not listed"
@@ -1070,7 +1067,7 @@
                          (map #(lib.options/update-options % dissoc :lib/uuid))
                          sorted-fields)
                     (->> (lib/remove-field query -1 created-at)
-                         lib.metadata.calculation/returned-columns
+                         lib/returned-columns
                          (map lib/ref)
                          sorted-fields))))))
 
@@ -1086,7 +1083,7 @@
                          (map #(lib.options/update-options % dissoc :lib/uuid))
                          sorted-fields)
                     (->> (lib/remove-field join-fields-query -1 (first join-columns))
-                         lib.metadata.calculation/returned-columns
+                         lib/returned-columns
                          (map lib/ref)
                          sorted-fields))))
           (testing "does nothing if the join field is already selected"
@@ -1095,12 +1092,12 @@
 
   (testing "removing implicit join fields"
     (let [query            (lib/query meta/metadata-provider (meta/table-metadata :orders))
-          viz-columns      (lib.metadata.calculation/visible-columns query)
+          viz-columns      (lib/visible-columns query)
           table-columns    (lib/fieldable-columns query -1)
           implicit-columns (filter #(= (:lib/source %) :source/implicitly-joinable) viz-columns)
           implied-query    (lib/add-field query -1 (first implicit-columns))]
       (is (= (map #(dissoc % :selected?) table-columns)
-             (lib.metadata.calculation/returned-columns query)))
+             (lib/returned-columns query)))
       (testing "with no :fields set does nothing"
         (is (=? query
                 (lib/remove-field query -1 (first implicit-columns)))))
@@ -1120,7 +1117,7 @@
 (deftest ^:parallel add-remove-fields-source-card-test
   (testing "query with a source card"
     (let [query   lib.tu/query-with-source-card
-          columns (lib.metadata.calculation/visible-columns query)]
+          columns (lib/visible-columns query)]
       (testing "allows removing each of the fields"
         (is (=? [[:field {} "USER_ID"]]
                 (-> query
@@ -1152,7 +1149,7 @@
                      (lib/breakout -1 (lib/with-temporal-bucket (meta/field-metadata :orders :created-at) :month))
                      lib/append-stage)
           stage1 (lib.util/query-stage query 1)
-          [created-at sum] (lib.metadata.calculation/visible-columns query 1 stage1)]
+          [created-at sum] (lib/visible-columns query 1 stage1)]
       (testing "populating :fields"
         (is (nil? (:fields stage1)))
         (is (=? [[:field {} "CREATED_AT"]
@@ -1188,7 +1185,7 @@
 (deftest ^:parallel add-remove-fields-native-query-test
   (testing "native query"
     (let [native-query   lib.tu/native-query
-          native-columns (lib.metadata.calculation/visible-columns native-query)]
+          native-columns (lib/visible-columns native-query)]
       (testing "throws when editing fields directly"
         (is (thrown-with-msg? #?(:cljs :default :clj Exception) #"Fields cannot be adjusted on native queries"
                               (lib/add-field native-query -1 (first native-columns))))
@@ -1197,7 +1194,7 @@
       (testing "with MBQL stage"
         (let [query   (lib/append-stage native-query)
               stage1  (lib.util/query-stage query 1)
-              columns (lib.metadata.calculation/visible-columns query 1 stage1)]
+              columns (lib/visible-columns query 1 stage1)]
           (testing "removing each field"
             (is (=? [[:field {} "sum"]]
                     (-> query
@@ -1228,7 +1225,7 @@
                          (lib/aggregate -1 (lib/sum (meta/field-metadata :orders :subtotal)))
                          (lib/breakout -1 (lib/with-temporal-bucket (meta/field-metadata :orders :created-at) :month)))
           stage      (lib.util/query-stage query -1)
-          columns    (lib.metadata.calculation/returned-columns query)
+          columns    (lib/returned-columns query)
           created-at [:field {} (meta/id :orders :created-at)]
           sum        [:aggregation {} (-> stage :aggregation first lib.options/uuid)]]
       (testing "removing each field"
diff --git a/test/metabase/lib/join_test.cljc b/test/metabase/lib/join_test.cljc
index 35460d82f2c6408c84bb55a5bb23ca04aa43b211..984e5cdcd9bebd81324ac85610baafa3ac8cc45e 100644
--- a/test/metabase/lib/join_test.cljc
+++ b/test/metabase/lib/join_test.cljc
@@ -5,8 +5,6 @@
    [metabase.lib.core :as lib]
    [metabase.lib.join :as lib.join]
    [metabase.lib.metadata :as lib.metadata]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
-   [metabase.lib.metadata.composed-provider :as lib.metadata.composed-provider]
    [metabase.lib.options :as lib.options]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-util :as lib.tu]
@@ -166,7 +164,7 @@
                 :id          (meta/id :categories :name)
                 :fk-field-id (meta/id :venues :category-id)
                 :lib/source  :source/fields}]
-              (lib.metadata.calculation/returned-columns query -1 query))))))
+              (lib/returned-columns query -1 query))))))
 
 (deftest ^:parallel col-info-explicit-join-test
   (testing "Display name for a joined field should include a nice name for the join; include other info like :source-alias"
@@ -192,7 +190,7 @@
                                                                 :source-table (meta/id :categories)}]}]}]
                  :database     (meta/id)
                  :lib/metadata meta/metadata-provider}]
-      (let [metadata (lib.metadata.calculation/returned-columns query)]
+      (let [metadata (lib/returned-columns query)]
         (is (=? [(merge (meta/field-metadata :categories :name)
                         {:display-name         "Name"
                          :lib/source           :source/fields
@@ -213,7 +211,7 @@
                                            :query    {:source-table (meta/id :checkins)
                                                       :aggregation  [[:count]]
                                                       :breakout     [[:field (meta/id :checkins :user-id) nil]]}}}
-        metadata-provider (lib.metadata.composed-provider/composed-metadata-provider
+        metadata-provider (lib/composed-metadata-provider
                            meta/metadata-provider
                            (lib.tu/mock-metadata-provider
                             {:cards [card-1]}))
@@ -248,7 +246,7 @@
               :lib/source               :source/joins
               :lib/source-column-alias  "count"
               :lib/desired-column-alias "checkins_by_user__count"}]
-            (lib.metadata.calculation/returned-columns query -1 join)))
+            (lib/returned-columns query -1 join)))
     (is (= (assoc card-1 :lib/type :metadata/card)
            (lib.join/joined-thing query join)))))
 
@@ -277,7 +275,7 @@
               :lib/desired-column-alias "Cat__NAME"
               ::lib.join/join-alias     "Cat"
               :lib/source               :source/joins}]
-            (lib.metadata.calculation/returned-columns query)))
+            (lib/returned-columns query)))
     (is (=? {:lib/type :metadata/table
              :db-id (meta/id)
              :name "CATEGORIES"
@@ -306,7 +304,7 @@
               :long-display-name "Cat → Name"
               :display-name      "Name"}]
             (map #(lib/display-info query %)
-                 (lib.metadata.calculation/returned-columns query))))
+                 (lib/returned-columns query))))
     (testing "Introduce a new stage"
       (let [query' (lib/append-stage query)]
         (is (=? [{:name                     "ID"
@@ -321,7 +319,7 @@
                   :lib/source-column-alias  "Cat__NAME"
                   :lib/desired-column-alias "Cat__NAME"
                   :lib/source               :source/previous-stage}]
-                (lib.metadata.calculation/returned-columns query')))))))
+                (lib/returned-columns query')))))))
 
 (deftest ^:parallel default-columns-added-by-joins-deduplicate-names-test
   (let [join-alias "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
@@ -360,7 +358,7 @@
               :display-name             "ID"
               :lib/source-column-alias  "ID"
               :lib/desired-column-alias "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY_bfaf4e7b"}]
-            (lib.metadata.calculation/returned-columns query)))))
+            (lib/returned-columns query)))))
 
 (deftest ^:parallel join-strategy-test
   (let [query  lib.tu/query-with-join
@@ -408,7 +406,7 @@
 (deftest ^:parallel join-strategy-display-name-test
   (let [query lib.tu/query-with-join]
     (is (= ["Left outer join" "Right outer join" "Inner join"]
-           (map (partial lib.metadata.calculation/display-name query)
+           (map (partial lib/display-name query)
                 (lib/available-join-strategies query))))))
 
 (deftest ^:parallel join-strategy-display-info-test
@@ -416,7 +414,7 @@
     (is (= [{:short-name "left-join", :display-name "Left outer join", :default true}
             {:short-name "right-join", :display-name "Right outer join"}
             {:short-name "inner-join", :display-name "Inner join"}]
-           (map (partial lib.metadata.calculation/display-info query)
+           (map (partial lib/display-info query)
                 (lib/available-join-strategies query))))))
 
 (deftest ^:parallel with-join-alias-update-fields-test
diff --git a/test/metabase/lib/metadata/calculation_test.cljc b/test/metabase/lib/metadata/calculation_test.cljc
index ea2e080621e94fcef7b038f935d4e6fd3971ee3c..e5cf04b49abf1b81da4c7e35128c529a8864206d 100644
--- a/test/metabase/lib/metadata/calculation_test.cljc
+++ b/test/metabase/lib/metadata/calculation_test.cljc
@@ -2,7 +2,6 @@
   (:require
    [clojure.test :refer [deftest is testing]]
    [metabase.lib.core :as lib]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-util :as lib.tu]
    [metabase.util :as u]))
@@ -18,19 +17,19 @@
                                       "TOTAL"]))]]
       (testing (str "\nquery =\n" (u/pprint-to-str query))
         (is (= "Venues, Sorted by Total ascending"
-               (lib.metadata.calculation/suggested-name query)))))))
+               (lib/suggested-name query)))))))
 
 (deftest ^:parallel long-display-name-test
   (let [query lib.tu/venues-query
         results (->> query
-                     lib.metadata.calculation/visible-columns
+                     lib/visible-columns
                      (map (comp :long-display-name #(lib/display-info query 0 %))))]
     (is (= ["ID" "Name" "Category ID" "Latitude" "Longitude" "Price" "Category → ID" "Category → Name"]
            results)))
 
   (let [query (lib/query meta/metadata-provider (meta/table-metadata :orders))
         results (->> query
-                     lib.metadata.calculation/visible-columns
+                     lib/visible-columns
                      (map (comp :long-display-name #(lib/display-info query 0 %))))]
     (is (= ["ID"
             "User ID"
@@ -82,7 +81,7 @@
                                      (meta/field-metadata :venues :category-id)
                                      (lib/with-join-alias (meta/field-metadata :categories :id) "Categories"))])
                                   (lib/with-join-fields [(lib/with-join-alias (meta/field-metadata :categories :name) "Categories")])))
-                    lib.metadata.calculation/visible-columns)))))
+                    lib/visible-columns)))))
   (testing "nil has no visible columns (#31366)"
     (is (empty? (-> lib.tu/venues-query
-                    (lib.metadata.calculation/visible-columns nil))))))
+                    (lib/visible-columns nil))))))
diff --git a/test/metabase/lib/metadata/composed_provider_test.cljc b/test/metabase/lib/metadata/composed_provider_test.cljc
index a54b373510928a4dd2b0d699c847e2a648c474da..e9a6a6ef56aded801f12c4dab665a07c3c20e06b 100644
--- a/test/metabase/lib/metadata/composed_provider_test.cljc
+++ b/test/metabase/lib/metadata/composed_provider_test.cljc
@@ -1,9 +1,8 @@
 (ns metabase.lib.metadata.composed-provider-test
   (:require
    [clojure.test :refer [deftest is testing]]
+   [metabase.lib.core :as lib]
    [metabase.lib.metadata :as lib.metadata]
-   [metabase.lib.metadata.composed-provider
-    :as lib.metadata.composed-provider]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-util :as lib.tu]
    #?@(:cljs ([metabase.test-runner.assert-exprs.approximately-equal]))))
@@ -16,7 +15,7 @@
     (let [time-field        (assoc (meta/field-metadata :people :birth-date)
                                    :base-type      :type/Time
                                    :effective-type :type/Time)
-          metadata-provider (lib.metadata.composed-provider/composed-metadata-provider
+          metadata-provider (lib/composed-metadata-provider
                              (lib.tu/mock-metadata-provider
                               {:fields [time-field]})
                              meta/metadata-provider)]
diff --git a/test/metabase/lib/metadata_test.cljc b/test/metabase/lib/metadata_test.cljc
index bb690600b9862f2d7b897ea5354ac6732dd1d58b..a897fa950e67498b7531fa4a0aee1357516cadf1 100644
--- a/test/metabase/lib/metadata_test.cljc
+++ b/test/metabase/lib/metadata_test.cljc
@@ -3,7 +3,6 @@
    [clojure.test :refer [are deftest is testing]]
    [metabase.lib.core :as lib]
    [metabase.lib.metadata :as lib.metadata]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-util :as lib.tu]
    #?@(:cljs ([metabase.test-runner.assert-exprs.approximately-equal]))))
@@ -42,8 +41,8 @@
 (deftest ^:parallel display-name-from-name-test
   (testing "Use the 'simple humanization' logic to calculate a display name for a Field that doesn't have one"
     (is (= "Venue ID"
-           (lib.metadata.calculation/display-name lib.tu/venues-query -1 {:lib/type :metadata/column
-                                                                          :name     "venue_id"})))))
+           (lib/display-name lib.tu/venues-query -1 {:lib/type :metadata/column
+                                                     :name     "venue_id"})))))
 
 (deftest ^:parallel table-or-card-test
   (are [id expected] (=? expected
diff --git a/test/metabase/lib/metric_test.cljc b/test/metabase/lib/metric_test.cljc
index 802be1bbbe50149b5afa4155e5cab6586e39c8af..b7f69ae3338bde1222276ac6335166d50b1d72e6 100644
--- a/test/metabase/lib/metric_test.cljc
+++ b/test/metabase/lib/metric_test.cljc
@@ -3,7 +3,6 @@
    [clojure.test :refer [are deftest is testing]]
    [metabase.lib.core :as lib]
    [metabase.lib.metadata :as lib.metadata]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-util :as lib.tu]
    #?@(:cljs ([metabase.test-runner.assert-exprs.approximately-equal]))))
@@ -40,7 +39,7 @@
 
 (deftest ^:parallel query-suggested-name-test
   (is (= "Venues, Sum of Cans"
-         (lib.metadata.calculation/suggested-name query-with-metric))))
+         (lib/suggested-name query-with-metric))))
 
 (deftest ^:parallel display-name-test
   (doseq [metric [metric-clause
@@ -52,8 +51,8 @@
                   "style = " (pr-str style))
       (is (= "Sum of Cans"
              (if style
-               (lib.metadata.calculation/display-name query-with-metric -1 metric style)
-               (lib.metadata.calculation/display-name query-with-metric metric)))))))
+               (lib/display-name query-with-metric -1 metric style)
+               (lib/display-name query-with-metric metric)))))))
 
 (deftest ^:parallel unknown-display-name-test
   (let [metric [:metric {} 1]]
@@ -63,8 +62,8 @@
       (testing (str "style = " (pr-str style))
         (is (= "[Unknown Metric]"
                (if style
-                 (lib.metadata.calculation/display-name query-with-metric -1 metric style)
-                 (lib.metadata.calculation/display-name query-with-metric metric))))))))
+                 (lib/display-name query-with-metric -1 metric style)
+                 (lib/display-name query-with-metric metric))))))))
 
 (deftest ^:parallel display-info-test
   (are [metric] (=? {:name              "sum_of_cans"
@@ -73,13 +72,13 @@
                      :effective-type    :type/Integer
                      :description       "Number of toucans plus number of pelicans"
                      :selected          true}
-                    (lib.metadata.calculation/display-info query-with-metric metric))
+                    (lib/display-info query-with-metric metric))
     metric-clause
     metric-metadata))
 
 (deftest ^:parallel display-info-unselected-metric-test
   (testing "Include `:selected false` in display info for Metrics not in aggregations"
-    (are [metric] (not (:selected (lib.metadata.calculation/display-info lib.tu/venues-query metric)))
+    (are [metric] (not (:selected (lib/display-info lib.tu/venues-query metric)))
       metric-clause
       metric-metadata)))
 
@@ -87,17 +86,17 @@
   (is (=? {:effective-type    :type/*
            :display-name      "[Unknown Metric]"
            :long-display-name "[Unknown Metric]"}
-          (lib.metadata.calculation/display-info query-with-metric [:metric {} 1]))))
+          (lib/display-info query-with-metric [:metric {} 1]))))
 
 (deftest ^:parallel type-of-test
   (are [metric] (= :type/Integer
-                   (lib.metadata.calculation/type-of query-with-metric metric))
+                   (lib/type-of query-with-metric metric))
     metric-clause
     metric-metadata))
 
 (deftest ^:parallel unknown-type-of-test
   (is (= :type/*
-         (lib.metadata.calculation/type-of query-with-metric [:metric {} 1]))))
+         (lib/type-of query-with-metric [:metric {} 1]))))
 
 (deftest ^:parallel available-metrics-test
   (testing "Should return Metrics with the same Table ID as query's `:source-table`"
@@ -142,7 +141,7 @@
   (let [query    (-> (lib/query metadata-provider (meta/table-metadata :venues))
                      (lib/aggregate [:metric {:lib/uuid (str (random-uuid))} 100]))]
     (is (= :type/Integer
-           (lib.metadata.calculation/type-of query [:metric {:lib/uuid (str (random-uuid))} 100])))))
+           (lib/type-of query [:metric {:lib/uuid (str (random-uuid))} 100])))))
 
 (deftest ^:parallel ga-metric-metadata-test
   (testing "Make sure we can calculate metadata for FAKE Google Analytics metric clauses"
@@ -156,4 +155,4 @@
                 :lib/source               :source/aggregations
                 :lib/source-column-alias  "metric"
                 :lib/type                 :metadata/column}]
-              (lib.metadata.calculation/returned-columns query -1 query))))))
+              (lib/returned-columns query -1 query))))))
diff --git a/test/metabase/lib/native_test.cljc b/test/metabase/lib/native_test.cljc
index f25b785ce9ec919c8209f348ff9cfdb602ee69f6..e0fe069d69b25abd8a9328b01a50b0e8ac8ca53c 100644
--- a/test/metabase/lib/native_test.cljc
+++ b/test/metabase/lib/native_test.cljc
@@ -4,7 +4,6 @@
               [metabase.test.util.js :as test.js]))
    [clojure.test :refer [are deftest is testing]]
    [metabase.lib.core :as lib]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
    [metabase.lib.native :as lib.native]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-metadata.graph-provider :as meta.graph-provider]
@@ -188,8 +187,8 @@
 (deftest ^:parallel native-query-suggested-name-test
   (let [query (lib/native-query meta/metadata-provider "SELECT * FROM VENUES;" qp-results-metadata nil)]
     (is (= "Native query"
-           (lib.metadata.calculation/describe-query query)))
-    (is (nil? (lib.metadata.calculation/suggested-name query)))))
+           (lib/describe-query query)))
+    (is (nil? (lib/suggested-name query)))))
 
 (deftest ^:parallel native-query-building
   (let [query (lib/native-query meta/metadata-provider "select * from venues where id = {{myid}}")]
diff --git a/test/metabase/lib/query_test.cljc b/test/metabase/lib/query_test.cljc
index 7bda0551402b4f95fc582517ffb6b26a9c95e4cd..0700fce7c360e036128df0da931a924aade61e33 100644
--- a/test/metabase/lib/query_test.cljc
+++ b/test/metabase/lib/query_test.cljc
@@ -3,7 +3,6 @@
    #?@(:cljs ([metabase.test-runner.assert-exprs.approximately-equal]))
    [clojure.test :refer [deftest is]]
    [metabase.lib.core :as lib]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-util :as lib.tu]))
 
@@ -27,9 +26,9 @@
                 " Filtered by Name equals \"Toucannery\","
                 " Sorted by ID ascending,"
                 " 100 rows")
-           (lib.metadata.calculation/display-name query)
-           (lib.metadata.calculation/describe-query query)
-           (lib.metadata.calculation/suggested-name query)))))
+           (lib/display-name query)
+           (lib/describe-query query)
+           (lib/suggested-name query)))))
 
 (deftest ^:parallel notebook-query-test
   (is (=? {:lib/type :mbql/query
diff --git a/test/metabase/lib/stage_test.cljc b/test/metabase/lib/stage_test.cljc
index cc9fe272ecb5c1aff92d6583066ec55b3a2ee8bc..28870cdbb123560399b6d9c8c9e9701e7e0ee1b9 100644
--- a/test/metabase/lib/stage_test.cljc
+++ b/test/metabase/lib/stage_test.cljc
@@ -4,7 +4,6 @@
    [malli.core :as mc]
    [metabase.lib.core :as lib]
    [metabase.lib.join :as lib.join]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
    [metabase.lib.schema :as lib.schema]
    [metabase.lib.stage :as lib.stage]
    [metabase.lib.test-metadata :as meta]
@@ -38,7 +37,7 @@
       (is (mc/validate ::lib.schema/query query))
       (is (=? [(merge (meta/field-metadata :venues :price)
                       {:lib/source :source/fields})]
-              (lib.metadata.calculation/returned-columns query))))))
+              (lib/returned-columns query))))))
 
 (deftest ^:parallel deduplicate-expression-names-in-aggregations-test
   (testing "make sure multiple expressions come back with deduplicated names"
@@ -66,12 +65,12 @@
                   :display-name             "0.8 × Average of Price"
                   :lib/source-column-alias  "expression"
                   :lib/desired-column-alias "expression_2"}]
-                (lib.metadata.calculation/returned-columns query)))))))
+                (lib/returned-columns query)))))))
 
 (deftest ^:parallel stage-display-name-card-source-query
   (let [query lib.tu/query-with-source-card]
     (is (= "My Card"
-           (lib.metadata.calculation/display-name query)))))
+           (lib/display-name query)))))
 
 (deftest ^:parallel adding-and-removing-stages
   (let [query                lib.tu/venues-query
@@ -106,7 +105,7 @@
              {:id (meta/id :venues :price),       :name "PRICE",       :lib/source :source/table-defaults}
              {:name "ID + 1", :lib/source :source/expressions}
              {:name "ID + 2", :lib/source :source/expressions}]
-            (lib.metadata.calculation/returned-columns (query-with-expressions))))))
+            (lib/returned-columns (query-with-expressions))))))
 
 (deftest ^:parallel default-fields-metadata-return-expressions-before-joins-test
   (testing "expressions should come back BEFORE columns from joins"
@@ -127,7 +126,7 @@
                          :expressions [[:+ {:lib/expression-name "ID + 1"} [:field {} (meta/id :venues :id)] 1]
                                        [:+ {:lib/expression-name "ID + 2"} [:field {} (meta/id :venues :id)] 2]]}]}
               query))
-      (let [metadata (lib.metadata.calculation/returned-columns query)]
+      (let [metadata (lib/returned-columns query)]
         (is (=? [{:id (meta/id :venues :id), :name "ID", :lib/source :source/table-defaults}
                  {:id (meta/id :venues :name), :name "NAME", :lib/source :source/table-defaults}
                  {:id (meta/id :venues :category-id), :name "CATEGORY_ID", :lib/source :source/table-defaults}
@@ -162,7 +161,7 @@
                   "ID + 2"
                   "Cat → ID"
                   "Cat → Name"]
-                 (mapv #(lib.metadata.calculation/display-name query -1 % :long) metadata))))))))
+                 (mapv #(lib/display-name query -1 % :long) metadata))))))))
 
 (deftest ^:parallel query-with-source-card-include-implicit-columns-test
   (testing "visible-columns should not include implicitly joinable columns when the query has a source Card (#30950)"
@@ -180,13 +179,13 @@
                   :base-type                :type/Integer
                   :lib/source               :source/card
                   :lib/desired-column-alias "count"}]
-                (lib.metadata.calculation/visible-columns query)))))))
+                (lib/visible-columns query)))))))
 
 (deftest ^:parallel do-not-propagate-temporal-units-to-next-stage-text
   (let [query (-> (lib/query meta/metadata-provider (meta/table-metadata :checkins))
                   (lib/with-fields [(lib/with-temporal-bucket (meta/field-metadata :checkins :date) :year)])
                   lib/append-stage)
-        cols (lib.metadata.calculation/visible-columns query)]
+        cols (lib/visible-columns query)]
     (is (= [nil]
            (map lib/temporal-bucket cols)))
     (is (=? [[:field
@@ -237,7 +236,7 @@
               :effective-type :type/Text,
               :lib/desired-column-alias "Cat__NAME",
               :display-name "Name"}]
-            (lib.metadata.calculation/visible-columns query)))))
+            (lib/visible-columns query)))))
 
 (deftest ^:parallel expression-breakout-visible-column
   (testing "expression breakouts are handled by visible-columns"
@@ -247,7 +246,7 @@
       (is (=? [{:lib/type :metadata/column
                 :lib/source :source/expressions}]
               (filter #(= (:name %) expr-name)
-                      (lib.metadata.calculation/visible-columns query)))))))
+                      (lib/visible-columns query)))))))
 
 (defn- metadata-for-breakouts-from-joins-test-query
   "A query against `ORDERS` with joins against `PRODUCTS` and `PEOPLE`, and breakouts on columns from both of those
@@ -285,7 +284,7 @@
                :lib/source-column-alias  "count"
                :lib/desired-column-alias "count"}]
              (map #(select-keys % [:name :lib/source-column-alias ::lib.join/join-alias :lib/desired-column-alias])
-                  (lib.metadata.calculation/returned-columns query)))))))
+                  (lib/returned-columns query)))))))
 
 (defn- metadata-for-breakouts-from-joins-test-query-2
   "A query against `REVIEWS` joining `PRODUCTS`."
@@ -307,7 +306,7 @@
       (is (= [{:name "CATEGORY", :lib/source-column-alias "P2__CATEGORY", :lib/desired-column-alias "P2__CATEGORY"}
               {:name "avg", :lib/source-column-alias "avg", :lib/desired-column-alias "avg"}]
              (map #(select-keys % [:name :lib/source-column-alias ::lib.join/join-alias :lib/desired-column-alias])
-                  (lib.metadata.calculation/returned-columns query)))))))
+                  (lib/returned-columns query)))))))
 
 (defn- metadata-for-breakouts-from-joins-from-previous-stage-test-query
   "[[metadata-for-breakouts-from-joins-test-query]] but with an additional stage and a join
@@ -344,4 +343,4 @@
                ::lib.join/join-alias     "Q2"
                :lib/desired-column-alias "Q2__avg"}]
              (map #(select-keys % [:name :lib/source-column-alias ::lib.join/join-alias :lib/desired-column-alias])
-                  (lib.metadata.calculation/returned-columns query)))))))
+                  (lib/returned-columns query)))))))
diff --git a/test/metabase/lib/table_test.cljc b/test/metabase/lib/table_test.cljc
index 35ea65ee7bcd94ef94700b4b2e3436f61deb225d..78f0d31c0253413a11e0554b14f822b3dc901c61 100644
--- a/test/metabase/lib/table_test.cljc
+++ b/test/metabase/lib/table_test.cljc
@@ -2,12 +2,11 @@
   (:require
    [clojure.test :refer [deftest is testing]]
    [metabase.lib.core :as lib]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
    [metabase.lib.metadata.protocols :as metadata.protocols]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-util :as lib.tu]
-   #?@(:cljs ([metabase.test-runner.assert-exprs.approximately-equal]))
-   [metabase.util.malli :as mu]))
+   [metabase.util.malli :as mu]
+   #?@(:cljs ([metabase.test-runner.assert-exprs.approximately-equal]))))
 
 #?(:cljs (comment metabase.test-runner.assert-exprs.approximately-equal/keep-me))
 
@@ -43,4 +42,4 @@
                                              (metadata.protocols/fields meta/metadata-provider table-id))))
           query (lib/query metadata-provider (meta/table-metadata :venues))]
       (mu/disable-enforcement
-        (is (sequential? (lib.metadata.calculation/visible-columns query)))))))
+        (is (sequential? (lib/visible-columns query)))))))
diff --git a/test/metabase/lib/temporal_bucket_test.cljc b/test/metabase/lib/temporal_bucket_test.cljc
index 97f8259204595079fb65924a92ffc84339766d0f..3a848b9f2875e4b7978669635e55910b6c218d00 100644
--- a/test/metabase/lib/temporal_bucket_test.cljc
+++ b/test/metabase/lib/temporal_bucket_test.cljc
@@ -3,7 +3,6 @@
    [clojure.test :refer [are deftest is testing]]
    [medley.core :as m]
    [metabase.lib.core :as lib]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
    [metabase.lib.temporal-bucket :as lib.temporal-bucket]
    [metabase.lib.test-metadata :as meta]
    [metabase.lib.test-util :as lib.tu]))
@@ -151,7 +150,7 @@
             {:unit :week-of-year}
             {:unit :month-of-year}
             {:unit :quarter-of-year}]
-           (->> (lib.metadata.calculation/returned-columns query)
+           (->> (lib/returned-columns query)
                 first
                 (lib/available-temporal-buckets query)
                 (mapv #(select-keys % [:unit :default])))))))
@@ -160,6 +159,6 @@
   (testing "There should be no bucketing options for expressions as they are not supported (#31367)"
     (let [query (-> lib.tu/venues-query
                     (lib/expression "myadd" (lib/+ 1 (meta/field-metadata :venues :category-id))))]
-      (is (empty? (->> (lib.metadata.calculation/returned-columns query)
+      (is (empty? (->> (lib/returned-columns query)
                        (m/find-first (comp #{"myadd"} :name))
                        (lib/available-temporal-buckets query)))))))
diff --git a/test/metabase/lib/test_util.cljc b/test/metabase/lib/test_util.cljc
index cf63d7f64504a6454ef05a32e79597a49e9d589e..61eece739d7e20b46fb94e64e6b592d13008eb8f 100644
--- a/test/metabase/lib/test_util.cljc
+++ b/test/metabase/lib/test_util.cljc
@@ -8,8 +8,6 @@
    [metabase.lib.convert :as lib.convert]
    [metabase.lib.core :as lib]
    [metabase.lib.metadata :as lib.metadata]
-   [metabase.lib.metadata.calculation :as lib.metadata.calculation]
-   [metabase.lib.metadata.composed-provider :as lib.metadata.composed-provider]
    [metabase.lib.metadata.protocols :as metadata.protocols]
    [metabase.lib.query :as lib.query]
    [metabase.lib.schema :as lib.schema]
@@ -104,7 +102,7 @@
 
 (def metadata-provider-with-card
   "[[meta/metadata-provider]], but with a Card with ID 1."
-  (lib.metadata.composed-provider/composed-metadata-provider
+  (lib/composed-metadata-provider
    meta/metadata-provider
    (mock-metadata-provider
     {:cards [{:name          "My Card"
@@ -127,7 +125,7 @@
 
 (def metadata-provider-with-card-with-result-metadata
   "[[meta/metadata-provider]], but with a Card with results metadata as ID 1."
-  (lib.metadata.composed-provider/composed-metadata-provider
+  (lib/composed-metadata-provider
    meta/metadata-provider
    (mock-metadata-provider
     {:cards [{:name            "My Card"
@@ -263,7 +261,7 @@
 
 (def metadata-provider-with-mock-cards
   "A metadata provider with all of the [[mock-cards]]. Composed with the normal [[meta/metadata-provider]]."
-  (lib.metadata.composed-provider/composed-metadata-provider
+  (lib/composed-metadata-provider
     meta/metadata-provider
     (mock-metadata-provider
       {:cards (vals mock-cards)})))
@@ -274,7 +272,7 @@
   source Card."
   [query       :- ::lib.schema/query
    column-name :- ::lib.schema.common/non-blank-string]
-  (let [cols     (lib.metadata.calculation/visible-columns query)
+  (let [cols     (lib/visible-columns query)
         metadata (or (m/find-first #(= (:name %) column-name)
                                    cols)
                      (let [col-names (vec (sort (map :name cols)))]