I'm looking for information about minimal directed cuts (dicuts) in (connected) DAGs (directed acyclic graphs).

A dicut in a directed graph, is a cut $(P_1,P_2)$ in which all edges in $E(P_1,P_2)$ are in the same direction between the parts of the cut. Minimal is in relation to inclusion of the edge set $E(P_1,P_2)$.

Help in any of these directions would be appreciated.

Although the number of minimal dicuts can be exponential to the order of the graph (see Brendan's answer below) is it possible to generate them in runtime of the actual number of the cuts?

Given a DAG, could counting the number of its minimal cuts or upper bound be found in sub-exponential time? (is counting the same as generation in this case, complexity wise?)

Find a random dicut in a DAG? (uniformly random)

The motivation is to find "matching" minimal dicuts in two DAGs, where "matching" is in size (number of edges in the cut) to construct new DAGs by connecting parts from different graphs (maintaining connectivity).

Thank you!