Refactor this as an input/output engine with iterative/recursive loops as the process that transforms input to unsupervised output. The engine has 2 modes: Default/expansive/non-convergent and convergent. The first default mode works same as the current engine. By definition this mode will not converge so will keep going until max iterations. Convergent mode is its inverse, a least common denominator or greatest common factor approach that attempts to iteratively distill the input down to a minimal output; not quite a synthesis or summary but may be helpful to think of this as the essence of an input. The intention with both modes is not to be prescriptive but to give the system free reign to figure it out, unsupervised inference. The final output content and structure for both is entirely dependent on initial input conditions.