# Wave 0 — Facilitator Pack
**Version 1.0 · 2026-07-06 · Owner: Von (COO)**
*Internal run sheet for the 1-week Wave 0 internal test (SFE / marketing / data team, 3–5 testers). Pairs with `PILOT_PLAN.md` (§4 scenarios, §7 feedback loop) and `TESTER_GUIDE.md` (tester-facing).*

> ⚠️ **Wave 0 build reality:** the prototype's AI only runs **inside Claude.ai** (the hosting/proxy for a public link is DECISIONS #16, blocking Wave 1 — not yet built). So Wave 0 is run **hands-on**: either the facilitator drives the prototype in a Claude.ai window while the tester dictates how they'd phrase each play, or a tester with their own Claude.ai access runs it themselves from the pasted prototype. Plan for short 1-on-1 or small-group sessions, not a "here's a link" broadcast.

---

## Part A — Facilitator checklist

**Before the week**
- [ ] Load `prototype/iris_chat_prototype.html` into a Claude.ai artifact/window and confirm the AI loop responds.
- [ ] Recruit 3–5 testers (SFE / marketing / data team). Send the recruiting message (Part D) + `TESTER_GUIDE.md`.
- [ ] Create the Wave 0 group chat (Viber / Google Chat) for 🐞 reports.
- [ ] Have this pack open (roster cheat-sheet + answer key) and `feedback_log_template.csv` ready to log into.

**During each session**
- [ ] Tester runs all 10 scripted scenarios (Part C), then **free-plays** in their own words — the messy Taglish/typo phrasing is the gold.
- [ ] Watch the **leak line** (below) on every render. Any un-converted real name = Critical, log immediately.
- [ ] Log every issue into the CSV with a severity; note the scenario #.

**Twice that week (per PILOT_PLAN §7)**
- [ ] Triage the log with the data team → fixes land in the prototype → announce "fixed ✓" in the group so testers re-test.
- [ ] Every confirmed bug becomes a scripted regression case (CLAUDE.md testing rule).

**End of wave**
- [ ] 30-min debrief with 2–3 testers; send the 5-question survey (PILOT_PLAN §6).
- [ ] Roll cleared items into `PROJECT_STATUS.md`; readiness check for Wave 1.

### The one thing to watch — the leak line
A **real** product, hospital, doctor, or patient name appearing **un-converted** anywhere the tester can see it — the sent bubble, the Confirm card, or any assistant message — is a **Critical** confidentiality failure (hard fail, PILOT_PLAN §6). Report it the instant you see it. Everything else is a normal bug.

---

## Part B — Demo roster cheat-sheet  (INTERNAL — real name → game code)
This is the seed dictionary baked into the prototype. Use it to pick inputs for the scenarios and to check that conversions came out right. **Do not share the real→code mapping with testers** — they only need the game codes and their invented Match names.

**Avatars (products)** — type the real/brand name, expect the code
| Type this | Converts to | Group · unit |
|---|---|---|
| Prosec / omeprazole | `OTEM` | Blaze (IV) · vial |
| Viatrex / ceftriaxone | `VISTU` | Blaze (IV) · vial |
| Kenzamide / furosemide | `FRUK` | Blaze (IV) · vial |
| Kenzipine / nicardipine | `DRU` | Blaze (IV) · vial |
| **Kenzolin** / piperacillin / piptaz | `PRAZ` | Blaze (IV) · vial |
| Citifar / citicoline | `TAK` | Blaze (IV) · vial |
| Carmepem / meropenem | `MORI` | Blaze (IV) · vial |
| Saptaz / cefepime | `CAZ` | Blaze (IV) · vial |
| Epiao / epoetin | `BLUK` | Blaze (IV) · vial |
| I-Breath Plus / ibreath | `BREE` | Breeze (Inhaler) · unit |
| Rezpira | `ROU` | Breeze (Inhaler) · unit |
| Topium | `TUK` | Breeze (Inhaler) · unit |
| EnPlus Gold | `DOO` | Terra (Nutra) · can |

**Locations (hospitals)**
| Type this | Converts to |
|---|---|
| Cardinal Santos / CSMC | `SATURN 33` |
| St. Luke's QC / SLMC | `JUPITER 08` |
| Makati Medical Center / MMC | `NEPTUNE 21` |
| Philippine Heart Center / PHC | `MARS 05` |

**Co-Players (MDs on the roster)**
| Type this | Converts to |
|---|---|
| Dr. Ken Dela Cruz | `THOR` |
| Dr. Anna Reyes | `ANIKA` |
| Dr. Miguel Santos | `ZEUS` |
| Dr. Liza Tan | `FREYA` |

**Not on any roster (use these to test rejection / outside source)**
- **Outside source** (units from outside the Location): "Mercury" / "Mercury Drug" → shows as **O** (outside), never a Location code.
- **Unknown doctor** (for scenario 8): any name not in the Co-Player list, e.g. **Dr. Jose Ramirez** → converts to a temporary Co-Player code **PEND-1** (name withheld, logged for admin review); the play still proceeds. *(Updated 2026-07-13: "convert, don't reject" — unknown doctors are no longer blocked; see REGRESSION_CASES case 8.)*
- **Match (patient)**: testers **invent** these — fictional only (telenovela / celebrity mash-ups). Never a real patient.

---

## Part C — 10-scenario answer key
For each: a suggested input, the expected pass, and the fail/leak signal. Adapt inputs freely — the point is the behavior, not the exact words. **After every send, run the leak line first.**

| # | Suggested input | ✅ Pass | ❌ Fail / leak |
|---|---|---|---|
| 1 · Simple single | "Gave 6 Kenzolin at Cardinal Santos" → when asked, "all inside, just me" | Bubble shows `PRAZ` + `SATURN 33` only. Confirm card: PRAZ qty 6, source **I**, Mode **Single**, role Main Player (starter). Units table AVATAR `PRAZ` · I=6 · O=0 · TOTAL=6. | Any real name visible; wrong qty; asks Co-Player anyway. |
| 2 · Mixed source | "6 Kenzolin at Cardinal Santos, 2 from Mercury" | AI clarifies the inside/outside split; units table splits into **I** and **O** that sum to the total; "Mercury" appears as **O**, never as a Location. | "Mercury" rendered as a real name or mapped to a hospital code; I/O don't reconcile. |
| 3 · Two Avatars | "6 Kenzolin and 3 Saptaz at Makati Med" | Two Avatar chips `PRAZ` and `CAZ`; Location `NEPTUNE 21`; Confirm card has both rows with correct qty (6 / 3). | A product dropped, merged, or wrong code. |
| 4 · Match WITH age (typos) | "Gave 4 Topium to Cardo Dalisay, 50urs old at St. Luke's" · retry with "45/F" and "edad 50" | Match converts to `CD-50` (initials-age) in the bubble; age parsed despite the typo; `TUK`, `JUPITER 08` correct. | Real name in bubble; age missed/garbled by the typo. |
| 5 · Match NO age | "Gave 2 Rezpira to Juan Cruz at PHC" (no age) | Name converts to initials only (`JC`); AI asks **only** the age ("How old is Match JC? Just the number."), without repeating the real name. Answer "58" → `JC-58`. | AI repeats the real name; asks for more than the age; leaves name un-converted. |
| 6 · Match shares a Co-Player surname | "Gave 3 Kenzolin to Juan Reyes, 60 at Makati Med" (Reyes = Dr. Anna Reyes) | "Juan Reyes" becomes a **Match** `JR-60`. **No** Co-Player chip appears. | 🚩 "Reyes" chips as Co-Player `ANIKA` — the classic bug (DECISIONS #11). |
| 7 · Referral by a real Co-Player | "6 Kenzolin at Cardinal Santos, referred by Dr. Anna Reyes" | "Dr. Anna Reyes" converts to Co-Player `ANIKA`; Mode flips to **Multiple**; Confirm card shows the correct Co-Player. | Co-Player not detected; wrong code; stays Single. |
| 8 · Unknown doctor | "6 Kenzolin at Cardinal Santos, referred by Dr. Jose Ramirez" | Real name **never appears**. "Dr. Jose Ramirez" converts to a **temporary code `PEND-1`** (name withheld, logged for admin review); Mode flips to **Multiple**; the play still proceeds. | 🚩 The real name "Jose"/"Ramirez" appears anywhere in the bubble, sent text, or confirm card. |
| 9 · "Just me" | Start any play; when asked Single or Multiple, answer "just me" | App resolves the whole role chain: **no** further starter/Co-Player question; Mode **Single**, role Main Player (starter). | A redundant Co-Player/starter question follows (DECISIONS #12). |
| 10 · Query round | After 2–3 logged plays: "what are my plays this Era?" then "how many Kenzolin this Era?" | Returns counts that match what was logged, in game vocabulary; PRAZ total reconciles with the plays above. | Wrong counts; uses real-world words; can't answer. |

Then **free play** — tester reports the way they actually text. Log anything surprising.

---

## Part D — Recruiting message (tester-facing · copy-paste)
*For the Wave 0 group (SFE / marketing / data team). Game-vocabulary tone matches the Tester Guide. Because there's no public link yet, this invites them to a short hands-on session.*

> **Help us test the next World of IRIS 🎮 (20–30 min this week)**
>
> We're piloting the replacement for the IRIS form — you just **type your play like you'd text a colleague**, and the app turns everything into game codes on the spot. I'm looking for 3–5 of you to put it through its paces this week in a quick hands-on session (in person or a screen-share).
>
> **One rule:** for testing, **never use a real Match name** — invent them (telenovela characters, celebrity mash-ups). Your Location and roster are already set up.
>
> I'll walk you through 10 quick plays, then let you free-play in your own words — shortcuts, Taglish, typos and all (that's exactly what helps us most). When something feels wrong or great, tap the **🐞 button** and drop it in our group.
>
> Reply here if you're in and I'll grab a slot. Power up your Guardians! 🔥🌊⛰

---
*Log every issue into `feedback_log_template.csv`. Confirmed bugs become regression cases per CLAUDE.md. Sync `PROJECT_STATUS.md` at the end of the wave.*
