Build a state signature from a step's post-action URL and perceptual hash. Returns '' when there's no hash (couldn't perceive) so the caller can skip loop scoring for that step rather than treat blanks as a repeated state.
Build a state signature from a step's post-action URL and perceptual hash. Returns '' when there's no hash (couldn't perceive) so the caller can skip loop scoring for that step rather than treat blanks as a repeated state.