diff --git a/README.md b/README.md index 87c36be..87f82d9 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,11 @@ [](./CODE_OF_CONDUCT.md) [](./docs/current/SPECIFICATION.md) +
+
+
Two agent paths, side by side. Deterministic — no LLM spend. Reproduce it →
+ ## Stability (v0.1) The specification and reference packages are **v0.1**: the spec, schemas, CI and libraries here are meant to be implemented against, but **breaking changes can still happen** while the ecosystem is small. Pin versions in production and read [CHANGELOG.md](./CHANGELOG.md) before upgrades. Governance details: [GOVERNANCE.md](./GOVERNANCE.md). diff --git a/assets/realworld-demo.gif b/assets/realworld-demo.gif new file mode 100644 index 0000000..7437fb3 Binary files /dev/null and b/assets/realworld-demo.gif differ diff --git a/assets/realworld-demo.mp4 b/assets/realworld-demo.mp4 new file mode 100644 index 0000000..ff04416 Binary files /dev/null and b/assets/realworld-demo.mp4 differ diff --git a/realworld-simulation/.gitignore b/realworld-simulation/.gitignore index 1c3d75c..1c71520 100644 --- a/realworld-simulation/.gitignore +++ b/realworld-simulation/.gitignore @@ -5,3 +5,8 @@ agent/.venv/ **/__pycache__/ *.pyc .DS_Store + +# vhs/ffmpeg intermediate outputs (final artifacts live in ../assets/) +realworld-demo.mp4 +realworld-demo-short.mp4 +realworld-demo.gif diff --git a/realworld-simulation/README.md b/realworld-simulation/README.md index da2de3d..f2f83bb 100644 --- a/realworld-simulation/README.md +++ b/realworld-simulation/README.md @@ -86,6 +86,32 @@ flowchart LR - Do **not** speed up the terminal recording for the EEP leg — sub-second structured access is the punchline. - Suggested post: *We taught an agent to satisfy gates, sign an NDA, and pay (simulated) USDC for JSON — no HTML parse. Entity Engagement Protocol (EEP).* +## Regenerating the demo recording + +The canonical demo GIF/MP4 live in [`assets/realworld-demo.gif`](../assets/realworld-demo.gif) and [`assets/realworld-demo.mp4`](../assets/realworld-demo.mp4). The recording runs both scenarios **in parallel** (split-screen mode via `DEMO_SPLIT_SCREEN=1`) so the contrast in completion time — Scenario A's ~26 s vs Scenario B's ~10 s — is visible at a glance. + +To refresh: + +```bash +# 1. Run the demo recording (uses VHS — brew install vhs) +# demo.tape sets DEMO_SPLIT_SCREEN=1 and renders at 1800×950 so the +# parallel two-pane layout fits. +vhs demo.tape + +# 2. Optimized GIF via two-pass palette extraction (10 fps, 1000 px wide) +ffmpeg -y -i realworld-demo.mp4 -vf "fps=10,scale=1000:-1:flags=lanczos,palettegen=stats_mode=diff:max_colors=128" /tmp/palette.png +ffmpeg -y -i realworld-demo.mp4 -i /tmp/palette.png \ + -lavfi "fps=10,scale=1000:-1:flags=lanczos[x];[x][1:v]paletteuse=dither=bayer:bayer_scale=5" \ + realworld-demo.gif + +# 3. Lossy post-optimization with gifsicle (brew install gifsicle) +gifsicle -O3 --colors 128 --lossy=80 realworld-demo.gif -o realworld-demo-opt.gif +mv realworld-demo-opt.gif realworld-demo.gif + +# 4. Move artifacts to assets/ +mv realworld-demo.mp4 realworld-demo.gif ../assets/ +``` + ## License Apache-2.0, consistent with the EEP monorepo. diff --git a/realworld-simulation/demo.tape b/realworld-simulation/demo.tape new file mode 100644 index 0000000..35efadb --- /dev/null +++ b/realworld-simulation/demo.tape @@ -0,0 +1,19 @@ +# EEP Realworld Simulation — split-screen recording +# Runs Scenario A (current web HTML scraping) and Scenario B (EEP) IN PARALLEL +# in two side-by-side terminal panes. The contrast in completion time is the point. +# +# Run with: vhs demo.tape (requires brew install vhs) + +Output realworld-demo.mp4 + +Set FontSize 11 +Set Width 1800 +Set Height 950 +Set Padding 18 +Set Theme "Catppuccin Mocha" +Set TypingSpeed 40ms + +Type "DEMO_SPLIT_SCREEN=1 npm run demo:only" +Sleep 400ms +Enter +Sleep 45s