Module-bindings inspector stops crying wolf on selector-bound Smart Properties
Hotfix to the orbit_inspect_stripo_module_bindings tool shipped yesterday in 0.19.3. The 'unmapped esd-gen-* classes' note used to infer the expected variable name from each CSS class — so a module that bound .esd-gen-title to a Smart Property called p_title (variable name doesn't match class basename, common in workspaces with a p_* naming convention) got falsely flagged as unmapped, with a follow-up instruction to register a variable that already existed. The inspector now cross-references actual blockMapping selectors instead of inferring names, so only genuinely orphan classes get flagged. CTA dead-end guidance also softened — no longer hardcodes cta_text / cta_href as the recommended names, since workspaces using a different prefix would get pushed toward names that conflict with their own convention.
What shipped
•Bug fix — orbit_inspect_stripo_module_bindings no longer false-flags Smart Properties bound by selector when the variable name differs from the class basename. The 'unmapped esd-gen-* classes' note previously inferred the expected variable name from each class (e.g. .esd-gen-title → expected 'title') and flagged the class as unmapped whenever no variable with that exact name existed. That broke for any workspace using a naming convention like p_* — a perfectly-fine binding of p_title → .esd-gen-title got reported as 'register a Smart Property for title' even though one was already registered. Now the inspector builds a Set of selectors from every registered variable's blockMapping[].selector and only flags classes whose `.${cls}` form is not in that Set. Same code path catches the cases the old check caught; stops manufacturing the cases it shouldn't have.
•Behaviour change — CTA dead-end note no longer hardcodes variable names in its fix instruction. When a module has a top-level link field but no CTA variable registered, the note used to read 'Register Smart Properties named cta_text and cta_href via the Data tab' — Stripo's documented convention, but wrong for workspaces using a different prefix. Now reads 'match the workspace's existing naming convention if one is in use (e.g. p_cta_text + p_link when the module uses a p_* prefix)'. Same diagnosis, no longer pushes you toward names that fight your existing setup.