From 5a9ec8ea05aba3d09332d2c834e75f17ca57fcd4 Mon Sep 17 00:00:00 2001 From: jinhongkuan Date: Sun, 3 May 2026 00:22:43 -0700 Subject: [PATCH] test(e2e): rewrite demo flow prompts in realistic per-role voice MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces tool-aware prompts (referencing 'ledger', 'ratify', 'code home', specific line numbers) with how each role would actually type: - Flow 1 (PM, post-roadmap): drops file paths and line ranges; lets the ingest skill's caller-LLM derive bindings from feature names. Tests the binding heuristic as part of the e2e flow. - Flow 2 (PM, UX pivot): drops the explicit reorder.ts path; agent derives target file from the prior decision binding. - Flow 3 (dev, commit-sync): conversational dev voice, retains the deterministic comment text and commit message the harness asserts on. - Flow 4 (dev, mid-refactor): Slack-think-out-loud — natural in-flight realization that should fire capture-corrections. - Flow 5 (PM, Friday review): drops 'ledger', 'ratify', 'proposed', 'code-compliance status' jargon; agent maps intent to the right tools. Risk note: assert_flow_1 requires bind_targets include both cherry-pick.ts and reorder.ts. With the new prompt the ingest skill must derive these from feature names. If it fails, the right fix is in the skill or binding heuristic — don't add file paths back to the prompt. Flow 2 has a scaffolding fallback (line 1222) that names reorder.ts directly as a safety net. Co-Authored-By: Claude Opus 4.7 (1M context) --- tests/e2e/prompts/flow-1-ingest.md | 14 ++++++-------- tests/e2e/prompts/flow-2-preflight.md | 4 ++-- tests/e2e/prompts/flow-3-commit-sync.md | 4 ++-- tests/e2e/prompts/flow-4-session-end.md | 6 +++--- tests/e2e/prompts/flow-5-history.md | 4 ++-- 5 files changed, 15 insertions(+), 17 deletions(-) diff --git a/tests/e2e/prompts/flow-1-ingest.md b/tests/e2e/prompts/flow-1-ingest.md index 1e8b529a..1d517167 100644 --- a/tests/e2e/prompts/flow-1-ingest.md +++ b/tests/e2e/prompts/flow-1-ingest.md @@ -1,11 +1,9 @@ -Just got out of our roadmap review for GitHub Desktop. Three items the team agreed to start tracking: +Just out of roadmap review. Three things we agreed to track: -1. **High-signal notifications** (versions 2.9.10 and 3.0.0) — notify on failed checks, notify when a PR gets reviewed. -2. **Improved commit history** (2.9.0) — drag-and-drop to reorder commits, drag-and-drop to squash, amend last commit, branch from a previous commit. -3. **Cherry-picking commits between branches** (2.7.1) — context-menu cherry-pick and an interactive variant. +- High-signal notifications (2.9.10 / 3.0.0): notify on failed checks, notify on PR review. +- Improved commit history (2.9.0): drag-to-reorder, drag-to-squash, amend last commit, branch from a previous commit. +- Cherry-pick between branches (2.7.1): context-menu and an interactive variant. -Source is `desktop/desktop:docs/process/roadmap.md`. +Source: desktop/desktop:docs/process/roadmap.md. -Two of these have an obvious code home so we can keep code in sync with intent later. The reorder/improved-commit-history piece anchors to `app/src/lib/git/reorder.ts` (the `reorder` function near the top of the file). The cherry-pick item anchors to `app/src/lib/git/cherry-pick.ts`, specifically the `CherryPickResult` enum (lines 31–60). Anchor those two so the ledger has something to verify against once we start changing the code. - -I've already reviewed all three with the team and we're aligned — please sign these off on our end so we can move forward on a clean slate. +Already aligned with the team — please log these and sign them off on our end. If any have an obvious code home, bind them too so we can catch drift later. diff --git a/tests/e2e/prompts/flow-2-preflight.md b/tests/e2e/prompts/flow-2-preflight.md index 1575e252..7ff33526 100644 --- a/tests/e2e/prompts/flow-2-preflight.md +++ b/tests/e2e/prompts/flow-2-preflight.md @@ -1,3 +1,3 @@ -Quick context shift on `app/src/lib/git/reorder.ts` — I know the roadmap said drag-and-drop to reorder commits, but actually we're switching to a text-editor approach where the user types the desired commit order as a numbered list and we apply it from there. No more drag-drop interactions on this surface. +Quick scope shift on the reorder feature — drag-and-drop is out; we're going with a text-editor flow where the user types the desired commit order as a numbered list. No more drag-drop on this surface. -Help me start the refactor. I'll handle the call-site cleanup separately. +Help me start the refactor — I'll deal with the call-site cleanup separately. diff --git a/tests/e2e/prompts/flow-3-commit-sync.md b/tests/e2e/prompts/flow-3-commit-sync.md index a7c61580..742bc981 100644 --- a/tests/e2e/prompts/flow-3-commit-sync.md +++ b/tests/e2e/prompts/flow-3-commit-sync.md @@ -1,3 +1,3 @@ -Quick housekeeping commit. Add a one-line comment at the top of `app/src/lib/git/cherry-pick.ts` (just above the `CherryPickResult` enum) — something like `// Cherry-pick: roadmap v2.7.1 — context menu + interactive`. +Need a quick docs commit. Drop a one-line comment above the CherryPickResult enum in cherry-pick.ts pointing back to the roadmap — something like `// Cherry-pick: roadmap v2.7.1 — context menu + interactive`. -Then stage and commit it as `docs: annotate cherry-pick origin`. +Stage and commit it as `docs: annotate cherry-pick origin`. diff --git a/tests/e2e/prompts/flow-4-session-end.md b/tests/e2e/prompts/flow-4-session-end.md index e414aa3b..8bee57e8 100644 --- a/tests/e2e/prompts/flow-4-session-end.md +++ b/tests/e2e/prompts/flow-4-session-end.md @@ -1,5 +1,5 @@ -Hmm wait — quick aside before we go further on the reorder.ts refactor. +hmm wait — small thing before we keep going on reorder. -Reading through the cherry-pick conflict path I committed earlier, I realized that handler shouldn't ever fall back to a stdin prompt when there's a merge conflict. The visual conflict UI has to be the only resolution path — if the implementation drifts toward a terminal prompt, that's wrong and we'd have to roll it back. +just realized: the cherry-pick conflict handler shouldn't ever fall back to a stdin prompt. visual conflict UI is the only resolution path, full stop. if it drifts toward a terminal prompt that's a rollback. -Anyway — back to `app/src/lib/git/reorder.ts`. Please continue the refactor we started: keep pulling out the `reorder()` function for the new text-editor flow. +ok back to reorder.ts — keep going on the `reorder()` function for the text-editor flow. diff --git a/tests/e2e/prompts/flow-5-history.md b/tests/e2e/prompts/flow-5-history.md index 5aaa701e..1f08b9e3 100644 --- a/tests/e2e/prompts/flow-5-history.md +++ b/tests/e2e/prompts/flow-5-history.md @@ -1,3 +1,3 @@ -Doing a Friday review across the ledger. Walk me through everything we're tracking — grouped by feature, with both axes for each one (code-compliance status and signoff state). +Doing a Friday review across all the things we're tracking. Walk me through them grouped by feature — for each one, where it stands on the implementation side and whether it's been signed off. -Anything still in `proposed` that's been sitting around — flag those, talk me through them in a sentence each, and pick whichever one looks most ready (clear scope, supporting context, no unresolved conflicts) and ratify it. Then show me the table again so I can scan what changed. +Anything still on the to-do pile that hasn't moved — flag those, give me a one-sentence read on each, and pick whichever one looks most ready (clear scope, supporting context, no open questions) and sign it off. Then show me the updated view.