# Email entry demo script

This is a local presentation fixture for the Jumping Beans demo. It includes
an AMP-for-Email MIME part plus HTML and plain-text fallbacks. It is not an
email integration: no mail is received or sent, and no email client is
automated.

## Preview

From `products/jumping-beans`, serve the experiment directory over localhost:

```bash
python3 -m http.server 8091 --directory experiments/email-entry
```

Open <http://localhost:8091/preview.html>.

The preview shows the AMP email first, followed by the HTML and plain-text
fallbacks. In the AMP view, tap an allowable next action and show that the
message updates its staged copy without invoking a partner action. Use the
`Download multipart fixture` link when you need the RFC-style
`multipart/alternative` artifact itself.

## Walkthrough

1. Point out that the email contains an opaque demo context: a light roast,
   10 oz, ground, at the partner-listed price of $11.99.
2. Point out the source disclosure. The partner owns the product and price
   facts; Jumping Beans does not upgrade them to independently verified facts.
3. Activate `Review the action chain`. It is a prominent HTTPS CTA to the
   existing Coffee Co action-chain preview with `jb_source=email-entry` and an
   opaque demo SKU.
4. On Coffee Co, review the selected item. Continue to the branch step and
   choose one of the allowlisted next actions.
5. At the approval step, explain that the next action is staged and remains
   inert until the user explicitly approves it. The demo completion message
   confirms that no order, payment, account change, or message was created.
6. Return to the preview and show the HTML and `text/plain` versions. They
   carry the same HTTPS destination and safety boundary without relying on AMP
   support.

## Validation

Run the deterministic fixture checks:

```bash
node experiments/email-entry/validate.mjs
```

Expected result: 11 email-entry checks pass. The check confirms the AMP, HTML,
and plain-text alternatives, matching CTA, HTTPS-only entry, demo-only
context, safety copy, and local preview links.

## Claims to keep precise

- Say “AMP email lets the recipient stage an allowable next step in the
  message, then presents a link into a reviewable action chain.”
- AMP interactivity is only message-local state; it does not call WebMCP or
  perform the partner action.
- Do not say that email invokes WebMCP. The browser page owns any WebMCP
  behavior after the user follows the link.
- Do not describe this as inbound ingestion, mail sending, mailto automation,
  checkout, ordering, payment, or a notification signup.
