Making the metadata schema immutable is the right call, and the detail that decides whether it holds is what counts as part of the state. Seeds and parameters are the obvious fields, but reproducibility in generative pipelines usually dies on the implicit ones: model weight revision, scheduler version, the exact library build, sometimes even the GPU architecture when kernels differ. If those are not in the record, two nodes can honour the same schema and still produce different frames, and the pipeline looks nondeterministic for reasons nobody can locate. Worth pinning them explicitly rather than assuming the execution environment is uniform - it is uniform right up until one node in the pool gets rebuilt.