# Sales Roleplay Test Scripts

These scripts are current for the simplified scenario catalogue:

- `re-engagement-after-stall`
- `inbound-campaign-conversation`
- `full-cycle-precision-selling`
- `custom-practice-scenario`

They are designed to test the persona context, scenario context, rep prep generator, language policy, slide/image evaluation, and the Precision Selling scorecard.

## How to Run

1. Open the sales roleplay app.
2. Pick the persona listed in the script.
3. Pick the scenario listed in the script.
4. Paste the scenario context exactly, unless the script says to vary it.
5. Paste the language policy when provided.
6. Optional: click **Generate prep** and compare the generated prep to the expected prep focus.
7. Start the call and read the rep lines naturally.
8. Pause after each line so the realtime model commits the turn.
9. End the call, run evaluation, and compare the scorecard to the expected signals.

## What to Watch

The evaluator should adapt to:

- Persona facts: company, region, role, current benefits, decision role, trust destroyers.
- Scenario type: campaign, re-engagement, full-cycle, or custom.
- Scenario context: campaign source, stall reason, board issue, internal stakeholder pressure.
- Rep prep: POST, SMARTER objective, hooks, question funnels, resistance, intended action plan.
- Language policy: preferred and prohibited phrases.
- Slides or visual material shared during the call.

## Expected Score Bands

These are approximate. A live persona can react differently.

| Score | Meaning |
| --- | --- |
| 1.0 to 2.0 | Product-first, low discovery, poor policy discipline, weak next step |
| 2.0 to 3.0 | Some useful behavior, but incomplete Precision Selling structure |
| 3.0 to 4.0 | Competent to strong practice call |
| 4.0 to 5.0 | Strong buyer-specific discovery, pivot, story, shield, and action plan |

## Current Script Set

| File | Persona | Scenario | Main Test |
| --- | --- | --- | --- |
| `01-smoke-test.md` | Any curated persona | Any active scenario | Basic app plumbing |
| `02-sandra-inbound-campaign.md` | Sandra Kowalski | Inbound Campaign Conversation | Campaign context plus cautious HR buyer |
| `03-maya-reengagement-governance.md` | Maya Singh | Re-engagement After Stall | Governance-review concerns and language discipline |
| `04-wei-campaign-finance-model.md` | Wei Zhang | Inbound Campaign Conversation | Analytical finance buyer and disclosure needs |
| `05-colette-reengagement-trades.md` | Colette Arsenault | Re-engagement After Stall | Regional trust and Atlantic trades context |
| `06-diane-full-cycle.md` | Diane Tremblay | Full Precision Selling Conversation | End-to-end Precision Selling |
| `07-tyler-custom-alberta.md` | Tyler Barker | Custom Practice Scenario | Custom scenario with regional skepticism |
| `08-weak-call-calibration.md` | James Okafor | Full Precision Selling Conversation | Low-score calibration |
| `09-slide-and-language-policy.md` | Priya Nair | Inbound Campaign Conversation | Slide vision plus language policy |

## Language Policy Format

Paste one phrase per line.

Example do use:

```text
publicly available information
responsible evaluation
what your board needs to see
based on what you shared
```

Example do not use:

```text
guaranteed
risk-free
no-brainer
best pension
close the deal
```

## Notes on Slide Tests

The current app accepts slide images, not native PowerPoint files. Export the slide or screenshot as PNG, JPEG, or WebP. Upload one or more images during the live call and ask the persona to react.
