Skip to content

test(e2e): rewrite demo flow prompts in realistic per-role voice#164

Merged
jinhongkuan merged 1 commit into
devfrom
feat/demo-prompts-realistic-voice
May 3, 2026
Merged

test(e2e): rewrite demo flow prompts in realistic per-role voice#164
jinhongkuan merged 1 commit into
devfrom
feat/demo-prompts-realistic-voice

Conversation

@jinhongkuan

Copy link
Copy Markdown
Contributor

Summary

Replaces tool-aware demo prompts with how each role (PM / dev) would actually type. The original prompts leaked product jargon ("ledger", "ratify", "code home", "compliance status") and engineer-shaped scaffolding (specific line ranges, exact file paths in PM voice). The new versions sound like real Slack/chat input.

Flow Persona Pick
1 — flow-1-ingest.md PM post-roadmap PM-natural, no file paths
2 — flow-2-preflight.md PM UX pivot PM voice, no file path
3 — flow-3-commit-sync.md Dev commit chore Dev, conversational
4 — flow-4-session-end.md Dev mid-refactor flag Slack-think-out-loud
5 — flow-5-history.md PM Friday review PM-natural, no jargon

Why this matters

The demo's whole pitch is: bicameral works on prompts a real human types. If the demo prompts read like a test harness, the demo undermines its own claim. Each flow now matches how a PM or dev would ping Claude in the wild.

Risk

assert_flow_1 requires bind_targets to include both cherry-pick.ts and reorder.ts. The new Flow 1 prompt drops file paths entirely — the ingest skill's caller-LLM has to derive them from feature names. This is intentional: it's an e2e test of the binding heuristic that is supposed to be the product's value prop. If it fails, fix the skill or the heuristic; don't add file paths back to the prompt.

assert_flow_2 has a scaffolding fallback (run_e2e_flows.py:1222) that names reorder.ts directly when auto-fire fails, so Flow 2 has a safety net.

Test plan

  • Run tests/e2e/run_e2e_flows.py against the pinned desktop/desktop commit. All five flows should still PASS.
  • If Flow 1 fails: the ingest skill is the right place to fix, not the prompt. File a follow-up if it reveals a binding-derivation gap.
  • Spot-check the rendered demo videos (pm.mp4 / dev.mp4) — the on-screen prompt text should now feel like real human input, not tool documentation.

Out of scope

  • composite-demo.md is unchanged. It uses tool-aware language deliberately ("call `bicameral.ingest`") because it's the recording script, not a flow prompt. Worth a follow-up if we want full consistency.
  • Harness assertions (run_e2e_flows.py). If Flow 1's binding test now exposes a real gap in the ingest skill, that's a separate PR.

🤖 Generated with Claude Code

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) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented May 3, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2a9575a3-9da0-4465-9f72-f0f473a49842

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/demo-prompts-realistic-voice

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@jinhongkuan jinhongkuan merged commit d8ac94d into dev May 3, 2026
5 of 7 checks passed
@jinhongkuan jinhongkuan mentioned this pull request May 3, 2026
15 tasks
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