Stripo setup consolidates to a single working path — Smart Element bindings, no more dead-end detours
Three empirical probes against Stripo's REST API today confirmed what 0.19.6 onward had been narrowing toward: there is exactly one path that supports per-send content substitution on Stripo modules, and it's pushing variable values into modules marked up with esd-dynamic-block Smart Element bindings via the editor's Smart Elements wizard. Every inline-HTML push path — the legacy areas shape, dataSources inline html, PUT edit-after-push — fails, the first two silently. So 0.19.10 strips user-facing references to those dead paths and consolidates around the one that works. orbit_setup_stripo gains a new Step 4 that walks you through marking up your modules with Smart Element bindings before you ever try to compose against them. orbit_inspect_stripo_module_bindings now hand-holds you toward the Smart Elements wizard when it sees a module with no or few registered variables, rather than leaving you to guess what's wrong. The three Stripo probe tools — orbit_probe_stripo_values, orbit_probe_stripo_inline_html, orbit_probe_stripo_smart_element — get their descriptions reframed so it's clear which two are internal diagnostics confirming dead paths are still dead, and which one tests the production path. And the stripo-integration skill now opens with a Foundational requirement preamble so anyone loading the skill cold lands on the right path from sentence one.
What shipped
•Setup change — orbit_setup_stripo gains a new Step 4 walking you through marking up your modules with Smart Element bindings via Stripo's editor wizard. Before this release, setup ran from workspace credentials straight through to verifying a generation area, with the binding work tucked away as an implication of later module authoring. The new Step 4 is explicit: open each module you want to use for per-send content, run the Smart Elements wizard, mark up p_title / p_description / p_cta_text / p_cta_href / p_image_src on the right DOM elements, save. The verify step is renumbered to Step 5 and still runs the end-to-end sanity check. Net effect — a fresh setup now produces modules that actually accept slot_values on the first compose call, instead of one that looks correct and silently no-ops at substitution time.
•Hand-hold guidance — orbit_inspect_stripo_module_bindings now surfaces a sparse-binding block when it sees a module with no registered variables, or very few relative to the visible class hooks. Before, an empty inspection report would tell you the module had zero Smart Properties registered and stop there. Now the same report points you at the Smart Elements wizard step in orbit_setup_stripo and the stripo-module-bindings skill, with the canonical p_* naming reminded inline. Saves you the round-trip of running the inspector, getting an empty answer, and then having to work out from first principles which doc or skill to load next.
•Tool descriptions — orbit_probe_stripo_values, orbit_probe_stripo_inline_html, and orbit_probe_stripo_smart_element reframed in their schema descriptions so it's clear which one tests the production path. The first two are now labelled as internal diagnostics — they exist to re-confirm that Stripo's dead inline-HTML push paths are still dead, useful for regression detection if Stripo ever quietly enables them, but not something you'd ever run as part of a normal workflow. orbit_probe_stripo_smart_element is the one to reach for when you want to empirically verify a real binding substitutes correctly end-to-end. Same tools, no behaviour change, just description hygiene so the assistant picks the right probe when you ask.
•Skill update — stripo-integration now opens with a Foundational requirement: Smart Element bindings preamble. Sets the floor before anything else in the skill loads: if your modules aren't marked up with esd-dynamic-block bindings via the wizard, every compose call will return what looks like success and ship the master-template defaults. Names the exact wizard path, the canonical p_* variable names, and the inspector tool to verify. Reading the skill cold now lands you on the working path in the first paragraph, not five sections deep.