Skip to content

feat(demo): ghost pick-list plus full-feature tour#547

Merged
fentas merged 3 commits into
masterfrom
feat-demo-ghost-pick-tour
Jun 30, 2026
Merged

feat(demo): ghost pick-list plus full-feature tour#547
fentas merged 3 commits into
masterfrom
feat-demo-ghost-pick-tour

Conversation

@fentas

@fentas fentas commented Jun 30, 2026

Copy link
Copy Markdown
Owner

Addresses two points of feedback on the demo GIFs.

1. Ghost pick-list (1:/2:/3:)

The ghost demo was missing the numbered pick-list because Ghost.list_count defaults to 0 (off). Fixed: list_count = 3 + seed four commands sharing a prefix (echo deploy to staging/preview/canary/production). Now the demo shows the inline dim ghost (newest match = production) and the list of the others below — 1: canary · 2: preview · 3: staging — then picks entry 2 with Ctrl+2.

2. Full-feature tour

Per request, the README hero tour is now all 7 features in one take, footer visible throughout:

  1. click-to-open (mouse_links) — click src/main.zig:42$EDITOR +42 …
  2. history ghost + pick-list
  3. guardrailrm -rf … gate
  4. security_guardcurl … \| sh in-proc Tier-1 banner
  5. inline #: AI — natural language → uname -sm → done

Implementation notes:

  • mouse_links runs first (fresh capture ring → predictable click coords); clear separates beats; the OSC 133 setup the AI beat needs comes after the mouse beat.
  • All deterministic: llm fixture_responses, security_guard in-proc Tier-1 (daemon_socket_path=""), EDITOR=echo.
  • Each of the 5 beats was frame-verified (ffmpeg + view); OSC 7 stripped; ~116 KB GIF.

Not in CI — tests/demo runs only via zig build demo / make demo-gifs.

🤖 Generated with Claude Code

Two demo upgrades:

- ghost: feature the numbered pick-list (1:/2:/3:) the demo was missing. The
  list was off (Ghost.list_count = 0 default); set it to 3 and seed four
  commands sharing a prefix so the inline ghost (newest match) shows AND the
  list of the others (newest-first) renders below — then pick entry 2 (Ctrl+2).
- tour: rebuild as the FULL feature set in one take (per request) — status-bar
  footer + click-to-open (mouse_links) + history ghost + pick-list + guardrail +
  security_guard + inline #: AI. mouse_links runs FIRST (fresh capture ring → the
  click coords are predictable) before the OSC 133 setup the AI beat needs;
  beats are separated by `clear`. All deterministic (llm fixture, in-proc Tier-1,
  EDITOR=echo). Each beat frame-verified; OSC 7 stripped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Revert the incidental re-record churn of the other scenarios' casts + gifs
  (this PR only changes ghost + tour).
- Remove the duplicate underscore-named gifs (atty-mouse_links.gif /
  atty-security_guard.gif) — the committed gifs + docs embeds use hyphens.
- gen-demo-gifs.sh: hyphenate the feature name (`mouse_links` dir →
  `atty-mouse-links.gif`) so `make demo-gifs` writes the names the docs embed,
  not underscore duplicates.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the demo tour and ghost showcase recordings so the README/GIFs consistently demonstrate the full set of interactive features (mouse click-to-open, history ghost + numbered pick-list, guardrails, and deterministic inline AI) with stable terminal geometry and updated goldens.

Changes:

  • Expand the tour scenario to cover the full feature walkthrough in one take (mouse_links first, then OSC 133 setup, then ghost/guardrails/LLM).
  • Enable/adjust demo config knobs to make the tour + ghost pick-list deterministic and visible (mouse enabled, ghost list_count=3, in-proc security_guard, fixture LLM response).
  • Regenerate golden casts/env files to match the updated scenarios and terminal sizes.

Reviewed changes

Copilot reviewed 7 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/demo/tour/scenario.e2e Reworks the tour flow to include click-to-open, ghost pick-list selection, guardrail, security_guard, and inline AI in one recording.
tests/demo/tour/golden/env.toml Updates tour terminal rows to match the new tour geometry.
tests/demo/tour/config.zig Enables mouse + ghost pick-list and updates deterministic LLM/security_guard demo configuration.
tests/demo/statusbar/golden/cast.json Refreshes the recorded cast for the statusbar demo.
tests/demo/security_guard/golden/cast.json Refreshes the recorded cast for the security_guard demo.
tests/demo/mouse_links/golden/cast.json Refreshes the recorded cast for the mouse_links demo.
tests/demo/llm/golden/cast.json Refreshes the recorded cast for the LLM demo reflecting the updated fixture response.
tests/demo/guardrail/golden/cast.json Refreshes the recorded cast for the guardrail demo.
tests/demo/ghost/scenario.e2e Updates the ghost demo to explicitly show the numbered pick-list and select an entry via Ctrl+2.
tests/demo/ghost/golden/env.toml Updates ghost demo terminal size (cols/rows) to fit the richer output.
tests/demo/ghost/golden/cast.json Refreshes the recorded cast to match the new ghost pick-list behavior.
tests/demo/ghost/config.zig Enables ghost pick-list (list_count=3) for the ghost demo build configuration.
Files not reviewed (1)
  • tests/demo/ghost/golden/cast.json: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread tests/demo/tour/scenario.e2e
The regenerated atty-ghost.gif now demonstrates the numbered pick-list (Ctrl+2)
rather than a Right-arrow accept; update the captions on the history + atuin
module pages to match (subagent review).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@fentas fentas merged commit 5426d18 into master Jun 30, 2026
6 checks passed
@fentas fentas deleted the feat-demo-ghost-pick-tour branch June 30, 2026 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants