My question is about keeping unwanted generic sets from appearing at the first limit stage of an iterated forcing.
The usual motivation for this is preserving some property $P$ of ZFC models: $P$ holds at each forcing extension $M_0 \subset M_1 \subset M_2 ...$, and we try to exclude from the upper-bound model $M_\omega$ new generic sets of a kind that would violate $P$ there.
My own question is more general: how rigorously can a forcing iteration keep generic byproducts of all kinds out of $M_\omega$?
To make this precise, let $M$ denote the ground model, and call an inner ZFC model $N$ with $M \subseteq N \subset M_\omega$ a "byproduct" model if $N \not\subseteq M_n$ for any finite $n$. Then these benchmarks for successful exclusion of byproducts suggest themselves:
$(1)$ No byproduct model is an upper bound for the $M_n$ [this is easy to arrange];
$(2)$ The collection of byproduct models is minimal, i.e. cannot be shrunk to a proper subcollection of itself by choosing different $M_n$ as a $\subseteq$-increasing sequence of inner ZFC models of $M_\omega$;
$(3)$ There are no byproduct models.
Clearly $(3) \Rightarrow (2) \Rightarrow (1)$; and $(1)$ does not entail $(2)$.
Does any iterated forcing satisfy $(2)$ or $(3)$?
$(3)$ seems extremely strong --- but maybe it can be satisfied by forcing with rigid boolean algebras or something? [Or maybe if each $M_n$ collapses a cardinal; but I should specify I'm really interested in non-cardinal-collapsing cases.]
What intrigues me most is whether you could have $(2)$ without $(3)$. Does anyone have an answer or a pointer to relevant literature? I haven't been able to figure much out myself beyond a handful of observations, like the impossibility of satisfying (2) with finite-support iteration. I'd be very grateful for any suggestions on approaches to this question!