CapabilitiesUpdated July 28, 2026

Demand probes

Test demand for a feature that doesn't exist yet — a dashed-border button where the feature would live, honest by construction, counted as votes in your register.

The cost of building features has collapsed; the scarce skill is curation. A demand probe turns "should we build X?" into a measured question: a dashed-border button renders where the feature would live in your product, and a click is a recorded vote. Users who click immediately read a fixed disclosure — this doesn't exist yet; your click was counted as a vote — so the pattern is never a deceptive fake door.

The honesty contract

The disclosure is structural, not a copy choice. Sightspool's config validation always emits the fixed disclosure text and overwrites any custom value; the serve endpoint re-injects it regardless of what is stored; and the SDK refuses to render a probe whose payload lacks it. You edit the button's label — the truth-telling moment after the click is not editable, by anyone.

How a probe runs

  • The agent proposes a probe off a cited finding (or you ask for one) — label, hypothesis, an explicit success threshold, a run window and a response target.
  • You review it in the Interventions inbox — exactly what your users will see, disclosure included — edit the label and placement, and approve. Nothing renders before your approval.
  • The SDK serves it to matching routes. Each person is counted once; the run stops itself at the response target or the window's end.
  • Stop & synthesise turns the votes into a cited finding — unique voters over unique viewers — which settles the register entry against the threshold you set before looking.

Placement

By default the probe renders as a small floating card — no integration work at all. For the highest-fidelity read, mount it inline where the feature would actually live: name a slot on the probe (for example exports-csv) and have your developer drop an empty anchor element there.

One line in your product, next to the real buttons:
<span data-sightspool-slot="exports-csv"></span>

The button mounts inside that anchor only — in its own shadow root, sized by its content, never injected into layout it wasn't invited into. If the anchor isn't on the page, nothing renders; there is no surprise fallback.

Reading the result

Demand is a conversion, not a raw count: the probe reports unique voters over unique viewers, against the threshold recorded before the run started. Below the minimum sample the register says "still gathering" — a probe never rules a verdict on a thin read. Met or missed, the entry and its evidence stay in the register: the durable answer to "why don't we have this feature?"