pub fn render_key(tree: &PatchTree, spec: &PhraseSpec) -> StringExpand description
Content address of one (term, spec) featurization, 32 lowercase hex
chars.
The spec is folded in because φ is only defined relative to the stimulus:
two engines with different phrases must never share an entry. A 0xff
separator (not a valid byte anywhere in either JSON) keeps the
concatenation unambiguous.