The problem comes from I cannot know which state the save game is, when the migration script is being triggered. There can be several cases:
1/ This mod is not installed before. The simplest case. Just convert every recipe to the scaled recipe, in the included machines. (Like what you mentioned.)
2/ This mod is already installed when the game is saved. Migration is triggered by changing of mod option settings, be it the list of included machines or the list of included recipes are being adjusted. It is logic-wise difficult if the two lists are purely expanded, purely reduced, or mix of both. So have to handle each machine-recipe combination case-by-case. It can either be:
2A/ Machine not in list, recipe using not in list: No changes needed.
2B/ Machine in list, recipe using not in list: Upgrade recipe!
2C/ Machine not in list, recipe using in list: Downgrade recipe!
2D/ Machine in list, recipe using in list: No changes needed.
2E/ The mod(s) involved in the machine or recipe is/are being disabled: Skipped / No changes needed. (I am not sure if disabling other mods will trigger migration. But added this case for safety.)
With case 1 only, migration is done once only. But all the things under case 2 is the source of complexity, as said in my former reply.
Anyway, after sorting this pseudocode out, it is not as complicated as I once thought. Maybe it worth some hours to finish and test it out.
========
Yes, I could add a threshold (as an additional option) in recipe time, where only recipes faster than that will be scaled.
This should be easy to do in my code.
(This was actually also my first thought when creating this... I planned to modify every recipes below 10s to overcome the 1 crafting per tick game limitation. But with my Schall Machine Scaling already working, I end up the current solution instead: Clone and scale up every recipes for specific machines only.)
========
Yes, I could add another option allowing the included machines to also use the original recipes. The logic will have to be expanded a little bit, to coexist with current option. But I would say it is easily doable, just need some time to test it out.
I have not done any analysis about recipes time range. I hope they will not clutter the recipe selection menu too much.
And since they coexist with original recipes in the same menu, perhaps I should add a small subicon to make them stand out from original ones? Do you have any suggestions to me?