Research — registry-driven research app with a native page and dataflow plus a canonical Research Block for optional composition.

BUSL-1.1 292 downloads
Updated 7 days ago Repository
kicksidespiralscoutresearchdataflowinbox

Run

wippy run kickside/research

Research

A registry-driven research demo, self-contained as one module: a page web component, a dataflow, and a custom inbox item kind — each contributed through registry entries, no edits to the host.

Flow

  1. The Research page (research-app web component) takes a topic and POSTs /research.
  2. submit starts a dataflow: a web-research agent (kickside.research.agents:researcher, webscout web_researcher trait) → deliver node.
  3. deliver normalizes the agent's JSON report and creates a research_result inbox item via the kickside.contract:inbox seam — it knows nothing about inbox storage.
  4. The inbox renders the report with this module's report component element, resolved by tag through the views registry.

What it ships

  • Page web component, built to ./static, served at /research-app.
  • Inbox item-kind element for the delivered report.
  • inbox.item_type registry entry declaring the research_result kind.
  • submit (POST /research) + the deliver dataflow node + the researcher agent.
  • A strict kickside.block/v1 Research wait Block. Its arm calls the same package-owned request contract and its terminal projection resumes the parked Dataflow Signal through kickside.blocks:resume.

Boundary

The inbox backend lives in kickside/inbox; the dataflow engine in userspace/dataflow. Visual Workflows may discover the Block but is not required by this module. The native page, request contract, and dataflow remain first-class.