Drop loop_* declaration properties; validate sub-blocks at construction
Remove loop_inputs / loop_intermediate_outputs / loop_expected_components /
loop_expected_configs from IterativePipelineBlocks — when the loop logic in
__call__ consumes inputs or components beyond what sub-blocks declare, the
subclass overrides the aggregated inputs / expected_components properties
directly (see Flux2DenoiseLoopWrapper).
Sub-block validation (type + loop-variable signature) now runs at
construction (__init__ and from_blocks_dict) instead of lazily in
loop_step.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>