             :onyx/min-peers
             {:doc "The minimum number of peers that will be concurrently assigned to execute this task before it begins. If the number of peers working on this task falls below its initial count due to failure or planned departure, the choice of `:onyx/flux-policy` defines the strategy for what to do."
              :type :integer
-             :restrictions ["Value must be greater than 0."
-                            "`:onyx/flux-policy` must also be defined in this catalog entry."]
+             :restrictions ["Value must be greater than 0."]
              :optional? true}
 
             :onyx/n-peers

            {:doc "The policy that should be used when a task with grouping enabled loses a peer. Losing a peer means that the consistent hashing used to pin the same hashed values to the same peers will be altered. Using the `:kill` flux policy will kill the job. This is useful for jobs that cannot tolerate an altered hashing strategy. Using `:continue` will allow the job to continue running. With `:kill` and `:continue`, new peers will never be added to this job. The final policy is `:recover`, which is like `:continue`, but will allow peers to be added back to this job to meet the `:onyx/min-peers` number of peers working on this task concurrently."
             :type :keyword
             :choices [:kill :continue :recover]
             :optionally-allowed-when ["`:onyx/type` is set to `:function`"
                                       "`:onyx/group-by-key` or `:onyx/group-by-fn` is set."]}

            :onyx/uniqueness-key

            :onyx/group-by-key
            {:doc "The key, or vector of keys, to group incoming segments by. Keys that hash to the same value will always be sent to the same virtual peer."
             :type [:any [:any]]
             :optionally-allowed-when ["`:onyx/type` is set to `:function` or `:output`"]
             :restrictions ["Cannot be defined when `:onyx/group-by-fn` is defined."
                            "`:onyx/flux-policy` must also be defined in this catalog entry."]}

            :onyx/group-by-fn
            {:doc "A fully qualified, namespaced keyword that points to a function on the classpath. This function takes a single argument, a segment, as a parameter. The value that the function returns will be hashed. Values that hash to the same value will always be sent to the same virtual peer."
             :type :keyword
             :optionally-allowed-when ["`:onyx/type` is set to `:function` or `:output`"]
             :restrictions ["Cannot be defined when `:onyx/group-by-key` is defined."
                            "`:onyx/flux-policy` must also be defined in this catalog entry."]}

            :onyx/bulk?
            {:doc "Boolean value indicating whether the function in this catalog entry denoted by `:onyx/fn` should take a single segment, or the entire batch of segments that were read as a parameter. When set to `true`, this function's return value is ignored. The segments are identically propogated to the downstream tasks."
