Semantic fingerprint
A semantic fingerprint is how an in-product agent stores an interface element without depending on its markup. Instead of a CSS class or XPath, it records the element's role, accessible name, landmark position, and neighbours, then matches candidates against that fingerprint at runtime, so a restyle or re-render doesn't break the reference.
Why not use a CSS selector?
Because selectors encode the DOM, and the DOM changes on nearly every deploy. A button that moves from one wrapper to another keeps its role, name and neighbours but loses its selector. A fingerprint survives the change; a selector silently points at nothing, which is how selector-based tools break every release.
How is a match scored?
Each signal contributes to a combined confidence between 0 and 1. Above 0.85 the agent acts; between 0.60 and 0.85 it checks a screenshot first; below 0.60 it stops and hands off rather than guessing. The threshold is the safety mechanism, not a heuristic to tune away.