If the goal is to have no ambiguity, it would probably be good to have an automated way to check for any such ambiguity. Perhaps a utility that will, for a workstation type/definition (prefab?), analyze the set of valid input recipes and ensure that no recipe A has a set of inputs that are a subset of recipe B's inputs (unless A and B are the same recipe). A module could do this once at game start and produce a warning (or error if really desired) on each ambiguous case that it can detect. It could potentially even be incorporated into the unit tests for the module instead or in addition.