# Embark Release Demo

This is the canonical release-demo flow for Embark's **close the laptop, reopen later, and watch the remote result stream back in** use case.

## What the demo should prove

The viewer should clearly see, in order:

1. a task you want to hand off before closing the laptop
2. the task being submitted to Embark
3. the laptop-close moment while remote work continues
4. Pi being reopened later
5. remote task updates streaming back in
6. the final completed result appearing locally

Hold each major transition on screen for at least ~2 seconds.

## Demo plan

### Exact commands / interactions

1. Start the reproducible local demo harness:

```bash
./scripts/embark-demo-env.sh start
```

2. Run the recorder pipeline:

```bash
./scripts/record-laptop-resume-demo.sh
```

The recorder uses a deterministic transcript generated from real Embark RPC output. The rendered flow is:

```text
$ ./scripts/embark-demo-pi.sh
pi> /embark "Finish this while I close my laptop, then show me the result when I come back."
[embark] Embark task ... submitted.

# close laptop now — the remote runner keeps working
# reopen Pi later and watch updates stream back in

$ ./scripts/embark-demo-pi.sh
pi> /embark watch latest
[embark] Watching Embark task ... until terminal state.
[embark] task_...: running
...
[embark] task_...: complete
Result:
Embark demo task complete ✅
```

### Exact states that must appear

The final GIF must visibly show:

- submitted
- running
- complete
- final result text: `Embark demo task complete ✅`

### Viewer takeaway

By the end, the viewer should understand that Embark lets Pi hand off work remotely, survive a laptop-close gap, and stream task progress/result back in after reopening.

## Recorder preflight

Before the final take, do one tiny preflight run and verify:

- prompt text fits without ugly wrapping
- the `submitted`, `running`, and `complete` states are readable
- the gray comment lines are visible but not distracting
- the final result stays on screen long enough to read
- the output GIF renders cleanly at GitHub/npm preview size

## Output asset

The recorder writes the final GIF to:

```text
docs/media/embark-laptop-resume-demo.gif
```

This file is the local final asset to review before uploading to the approved public host.

## Public-hosting note

Do not wire `README.md` or `package.json` preview metadata to the GIF until the final asset is uploaded to the approved stable host (`imgzen.xyz`) and the public URL is verified.
