TL;DR
Make the Ingredients prototype come with:probability - Chance of item consumption directly
consumption_on_craft - How many will get consumed on probability triggering.
Not crucial, but will allow for more interesting recipes.
spoilage_on_craft - How much the items will spoil on craft.
What?
I suggest adding internal functionality to make true catalysts and make these recipes allow more complicated functionality than usual Ring Around the Rosie.For example, we can make some item so that it can "spoil" while being used as a catalyst. Or can get consumed before spoiling, or more.
For example, currently Space Exploration has recipies that use Cation or Ion exchange beads. Those are supposed to work as catalysts and currently use the ProductPrototype probability to drop. They also ignore productivity because it could be duplicated like this.
Then we have an extra step of taking out the same bead, placing it on the belt, and putting it back into the machine.
The same exact thing happens with all other recipes that have a sort of catalyst used in them.
Example image of current recipes. Space-Exploration/k2 biomass Suggesting currently. No return chances, just directly chance of consumption in the machine input slot.
Why?
Cleaner production of the recipes, fewer ring-around-the-roses recipes that could have just been a true catalyst.With extended functionality could also work to add realistic catalysts that can go bad/get used, then require a specific process to return them. Now, even if you have such a system its working based on the chances of outputing specific item, rather than being a catalyst.
Imagine you want a specific recipe that can use a specific catalyst 10 times before it spoils. Currently its impossible unless you x10 your recipe and add the catalyst with the output of spoiled catalyst.
The spoilage mechanic can be ignored if it's impossible to implement with the current game logic. Actually, if the item spoils in the input slot, you will have to get it out like normal. So there isnt even a need to make it to be spat out or anything.

