# Memeroot · Interface from XML

**Start here:** open `GUIDE.html` in a browser.

Twenty-two tick-boxes from "extracted the zip" to "interface session bundled and shipped." Progress saves automatically.

## What this stream demonstrates

That an **interface is data, not application code.**

- **Definition**: a `<workflow id="..." title="...">` XML declares what the interface contains — steps, titles, instructions. No behaviour.
- **Renderer**: an XSL stylesheet transforms the workflow into a styled checklist. The rendering is a separate concern.
- **Responses**: the user fills in the workflow by authoring `<completion>` regions, one per step. Each completion is its own addressable, signable region.
- **Provenance**: signatures attach to completions, attributing each one to its author.
- **Transfer**: a single bundle ships definition + stylesheet + responses + signatures together. The recipient drops it into their canvas and sees the whole interface, all responses, all verifications.

No framework. No platform. No application code. Just declarative XML, a stylesheet, signed content.

## What's in this zip

```
memeroot-interface-from-xml/
├── GUIDE.html               ← open this first
├── README.md                ← you are here
├── canvas/MR-CANVAS-v0.8.html
├── features/                ← ten feature XMLs to drop on the canvas
├── identity/identity-tour-author.json
├── stylesheets/
│   ├── xsl-tone-{terse,public,annotated}.xml   ← for tour chunks
│   └── xsl-workflow.xml                         ← renders <workflow> as checklist
├── examples/
│   └── workflow-example.xml                     ← a 5-step research workflow
└── stream/
    ├── stream-interface-from-xml.xml
    └── chunk-iface-1.xml … chunk-iface-7.xml
```

## How the pattern generalizes

The workflow checklist is just one instance. The same shape — declarative XML + stylesheet renderer + signed responses — composes for:

- **Forms** — `<form>` with `<field>` children, stylesheet renders inputs, user authors `<entry>` regions
- **Surveys** — `<survey>` with `<question>` children, stylesheet renders prompts, user authors `<response>` regions
- **Wizards** — `<wizard>` with `<page>` children, stylesheet renders one page at a time, user signs progress
- **Multi-party agreements** — `<agreement>` with `<clause>` children, multiple identities sign different parts
- **Collaborative checklists** — `<checklist>` with `<task>` children, multiple users authoring `<completion>` regions

In every case: the interface is content, the rendering is style, the responses are signed data, the whole thing transfers as a single bundle.
