numeraire_dataset.zones.recipe_hash#

numeraire_dataset.zones.recipe_hash(name: str, version: int, params: dict[str, Any], input_hashes: Mapping[str, str]) str[source]#

Hash a recipe whose canonical input mapping preserves each input’s semantic role.

Mapping keys are the step’s declared input names. Unlike the legacy value-only list, this representation cannot identify left=X, right=Y with left=Y, right=X. Contract version 2 is embedded in the payload so every clean recipe intentionally moves from the legacy hash.