The problem is as follows: there are $n$ jobs $\mathcal{J}=\{J_1,\ldots, J_n\}$, each of which could be done. There are $k$ machines $M_1,\ldots,M_k$ that work in parallel, independently of each other, and each of the jobs can be performed on any of the machines. Each of the jobs has a fixed execution time. Machine can do at most one job at any moment.
The set of jobs is partitioned into two subsets, $\mathcal{J} = \mathcal{J}_{\wedge}\cup \mathcal{J}_{\vee}$, and each of the jobs is assigned a set of prerequisites by a function $P\colon \mathcal{J}\to 2^{\mathcal{J}}$. The interpretation of prerequisites is the following: if $J\in \mathcal{J}_{\wedge}$, then all the jobs from $P(J)$ need to be finished before $J$ can be started. If $J\in \mathcal{J}_{\vee}$, then $J$ can be started as soon as at least one of the jobs from $P(J)$ is finished.
The goal is to schedule the jobs among the machines in such a way that the job $J_n$ is done as soon as possible, while respecting the prerequisites constraints. So, we only care about the job $J_n$ and want to perform only the jobs that enable doing $J_n$, while scheduling them in a way that minimizes the makespan.
I have spent some time looking, but I haven't found similarly formulated problem.
Question: could anyone point me to literature on similar problems? By similar I mean especially ones with the same type of prerequisites (both conjunctions and alternatives).