Skip to content

feat(demo): longhand demo + pre-push audit polish (v0.9.2)#8

Merged
Wynelson94 merged 3 commits into
mainfrom
feat/demo-walkthrough
May 17, 2026
Merged

feat(demo): longhand demo + pre-push audit polish (v0.9.2)#8
Wynelson94 merged 3 commits into
mainfrom
feat/demo-walkthrough

Conversation

@Wynelson94
Copy link
Copy Markdown
Owner

Summary

Two changes, scoped for the v0.9.2 second-push:

  1. longhand demo — new CLI command that runs a sandboxed walkthrough on a fake 3-session corpus, so new users can try Longhand without touching their real ~/.claude or ~/.longhand. Closes the onboarding gap identified in the 2026-05-17 audit.
  2. Pre-push polish.gitignore hygiene (defensive secrets block) and outreach/README.md traction refresh (175/wk vs 733 peak baseline, reframed sequencing for a release-paired distribution event).

What it looks like

$ longhand demo
──────────────── Longhand demo ────────────────
Sandbox at /tmp/longhand-demo-20260517-... — your real ~/.longhand and ~/.claude are NOT touched.

Seeding 3 fake Claude Code sessions into a temp store...
  → ingested 3 sessions, 36 events on project demo-shop

Workflow in the corpus:
  • 2 days ago: Stripe webhook handler + signature-verification bug fix
  • 1 day ago: Supabase auth migration from createClient → SSR createServerClient
  • today:    Quick 401 fix in /api/checkout caused by yesterday's auth migration

──────── Try 1: cross-session bug retrieval ────────
Question: "the stripe signature bug on demo-shop"

[recall narrative shows the fix from 2 days ago, files touched, diff, verified]

──────── Try 2: "where did I switch to SSR auth?" ────────
[recall narrative for the migration session + related sessions footer]

──────── Try 3: "pick up where I left off on demo-shop" ────────
[recall_project_status: last session outcome, known issues, recent work]

──────── Done ────────
Like what you saw? Point Longhand at your real Claude Code history:
  pip install longhand
  longhand setup

Pass --keep to leave the sandbox in place for further exploration:

LONGHAND_DIR=/tmp/longhand-demo-<ts>/store longhand sessions

Why

The 2026-05-17 runtime audit identified that new users had no safe way to preview Longhand on sample data before running longhand setup on their real ~/.claude. The demo command fills that gap with a 60-second walkthrough that exercises the cross-session recall, file history, and project-status surfaces without modifying anything on disk outside the sandbox.

This release is the fresh angle for the second distribution push (April launch decayed from 733 weekly installs to 175). Paired with the existing SafeSkill 93/100 + GLAMA A-tier badges as legitimacy signals.

Files

  • longhand/demo/__init__.py, corpus.py, runner.py — new package
  • longhand/cli/_commands.py@app.command() def demo(...)
  • tests/test_demo.py — 6 new tests (determinism, valid event shape, ingestion, recall, cleanup)
  • README.md — "Want to kick the tires first?" quickstart paragraph
  • CHANGELOG.md — v0.9.2 entry
  • .gitignore — defensive Secrets block (.env*, *.key, *.pem, credentials.json, *.token)
  • outreach/README.md — traction snapshot refresh + reframed sequencing

Test plan

  • ruff check longhand tests → clean
  • python3 -m pytest -x -q → 228 passing (was 222, +6 demo tests)
  • python3 -m longhand demo → all 3 recall calls produce useful narratives, sandbox cleans up
  • python3 -m longhand demo --keep → leaves sandbox; LONGHAND_DIR=<path> longhand sessions shows the 3 seeded sessions
  • CI matrix (3.10–3.13) passes
  • After merge: tag v0.9.2 → OIDC publish via GitHub Actions Trusted Publishing → smoke pip install --upgrade longhand && longhand demo

🤖 Generated with Claude Code

Wynelson94 and others added 3 commits May 17, 2026 16:29
Audit 2026-05-17 prep for the v0.9.2 second-push:

- .gitignore: add defensive Secrets block (.env*, *.key, *.pem,
  credentials.json, *.token). No such files exist in the repo today, but
  this prevents an accidental paste landing one in the index during a
  push session.
- outreach/README.md: replace stale 2026-04-17 "What to watch" numbers
  with today's pre-second-push baseline (175/wk installs vs 733 at peak,
  −77%) and reframe the sequencing for a release-paired distribution
  event instead of the original launch.

The analytics-2026-04-17.md baseline file referenced from outreach/README
is preserved as a historical reference.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
New `longhand demo` CLI command lets users try Longhand on a tiny
pre-built sample corpus without touching ~/.claude or ~/.longhand.

The demo creates a sandbox at /tmp/longhand-demo-<timestamp>/,
generates 3 fictional Claude Code sessions covering a realistic
Stripe-webhook bug + Supabase auth migration + downstream 401 fix
on a `demo-shop` project, then walks through three recall surfaces:

  1. Cross-session bug retrieval ("the stripe signature bug")
  2. Pattern recall ("supabase ssr auth migration")
  3. recall_project_status("demo-shop")

Cleans up afterwards; pass --keep to leave the sandbox in place for
further exploration with `LONGHAND_DIR=<path> longhand …`.

### Why

The 2026-05-17 audit identified an onboarding gap: new users had no
way to preview Longhand on safe data before running `longhand setup`
on their real ~/.claude. This closes that gap with a 60-second
walkthrough that exercises the cross-session recall, file history, and
project-status surfaces without modifying anything on disk outside the
sandbox.

### Files

- longhand/demo/__init__.py
- longhand/demo/corpus.py — deterministic 3-session corpus generator
- longhand/demo/runner.py — sandbox setup + walkthrough
- longhand/cli/_commands.py — `@app.command() def demo(...)`
- tests/test_demo.py — 6 tests covering determinism, valid Claude Code
  event shape, ingestion into a fresh store, recall surfaces, cleanup
- README.md — "Want to kick the tires first?" quickstart paragraph
- CHANGELOG.md — v0.9.2 entry

### Tests

228 passing (was 222, +6 demo tests). Ruff clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
§§1–7 stay as April launch copy reference. §8 is the fresh angle
paired with this PR's v0.9.2 release:

- Show HN v0.9.2 angle: lead with the new `longhand demo` command
  ("try it without installing on your real data"), then surface what
  shipped since April (live ingestion, plan history, reconciler,
  annotations/outputSchema, GLAMA A-tier, SafeSkill 93/100)
- Updated stats everywhere: 19 MCP tools (was 16), 228 tests (was 170)
- mcp.so / mcpservers.org medium copy + awesome-mcp-servers PR bullet
- awesome-claude-code resubmission bullet (prior submission was blocked
  on Shipwright issue, eligible after Apr 16)
- X/Twitter 4-tweet follow-up thread
- Newsletter pitch template refreshed with current traction

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Wynelson94 Wynelson94 merged commit 7b2cf89 into main May 17, 2026
9 checks passed
@Wynelson94 Wynelson94 deleted the feat/demo-walkthrough branch May 17, 2026 22:37
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.

1 participant