During the solver's fixpoint, a shape member's concrete axes can degrade across iterations even though the first evaluation computed them exactly: the vendored gpt-2 forward run resolves embedded_x + pos_embedding(...) with fully concrete (2, 3, 8)-family operands on the first evaluation, and later evaluations of the same nodes carry (Dynamic, Unresolved, ...) in the same positions, because a re-run transfer folds a tf.shape element against an operand union that has since grown, and the per-axis join replaces the constant with the wider marker instead of keeping both members. The end-to-end output still recovers concretely where a downstream fold re-derives the sizes, but every intermediate link's pinned member is the joined form.
The precise fix keeps member-level granularity through recomputation: a transfer that previously contributed a concrete member should union it with the wider recomputation rather than replace it, or the per-axis fold should produce one member per source possibility instead of joining axes in place. Witnesses: the (2, 3, 8) first-evaluation members in the decoder chain's EWO record broadcast logs against the (Dynamic, Dynamic, 8) final states of the same values.
During the solver's fixpoint, a shape member's concrete axes can degrade across iterations even though the first evaluation computed them exactly: the vendored gpt-2 forward run resolves
embedded_x + pos_embedding(...)with fully concrete(2, 3, 8)-family operands on the first evaluation, and later evaluations of the same nodes carry(Dynamic, Unresolved, ...)in the same positions, because a re-run transfer folds atf.shapeelement against an operand union that has since grown, and the per-axis join replaces the constant with the wider marker instead of keeping both members. The end-to-end output still recovers concretely where a downstream fold re-derives the sizes, but every intermediate link's pinned member is the joined form.The precise fix keeps member-level granularity through recomputation: a transfer that previously contributed a concrete member should union it with the wider recomputation rather than replace it, or the per-axis fold should produce one member per source possibility instead of joining axes in place. Witnesses: the
(2, 3, 8)first-evaluation members in the decoder chain'sEWO record broadcastlogs against the(Dynamic, Dynamic, 8)final states of the same values.