define a simple recipe modification language like add flavor @percentage, rm flavor, inc flavor percentage, dec flavor percentage...
every modification to a recipe writes an up / down migration entry
every entry represents a "version" of the recipe, so every modification increments the version
private / unpublished recipes have version 0.x
public recipes have 1.x, starting with 1.0 as on publication
the front end understands the language and allows the user to freely switch between versions allowing to branch of a version maybe adding a new version level like 0.3.x
Just a brain dump:
add flavor @percentage
,rm flavor
,inc flavor percentage
,dec flavor percentage
...