Sprint 2.2 — Acceptance Checklist

Product Usability Pass · TEST MODE · No production data · No PHI

Comp Intelligence host: /hosts/comp-intelligence-test.html

CheckExpected
TEST MODE banner visible at top of page orange banner with: TEST MODE, synthetic data only, no production data, no PHI, mock route, environment=sandbox
Synthetic comp data renders in main panel 304,611 wRVUs, $16.2M comp paid, specialty table with syn-* IDs
Lexi widget mounts in right column "Ask Lexi about Comp Intelligence" title, TEST MODE badge, sandbox · comp-intelligence chip
Suggested prompts visible before first question 4 chips: total wRVU, highest median, FMV exceptions, compare cards to ortho
Ask: What was total wRVU output this quarter? Response cites 304,611 wRVUs and 141 providers
Ask: Which synthetic specialty has the highest median wRVU? Response identifies syn-ortho at 7,100
Ask: How many FMV exceptions are there? Response says no FMV exceptions
Ask: Compare cardiology to orthopedics on wRVU output. Side-by-side: syn-cards 5,800 vs syn-ortho 7,100; declares syn-ortho 22.4% higher
Each assistant message shows from: comp-intelligence-context.stub green chip chip in message header
Copy button on assistant message copies response text "Copy" → "Copied!" → reverts after ~1.4s; paste somewhere to verify
Clear button (header) resets conversation messages disappear, suggested prompts reappear
Ask off-topic question (e.g. What's the weather?) Friendly capabilities fallback with list of available prompts and synthetic specialty IDs

Public website host: /hosts/public-website-test.html

CheckExpected
TEST MODE banner visible at top of page same orange banner content as Comp Intel host
LC-style placeholder content renders (logo, hero, FAQ cards) 4 FAQ cards visible in main content area
Lexi widget floating bottom-right "Ask LC" title, TEST MODE badge, sandbox · lexingtonclinic-public chip
Suggested prompts visible before first question 4 chips: schedule, insurance, contact, locations
Ask: How do I schedule an appointment? Response mentions main line and includes From FAQ: attribution
Ask: What insurance plans do you accept? Response mentions major insurance plans and Medicare
Ask: How do I contact Lexington Clinic? Response mentions main phone line or patient portal
Ask: Where are locations listed? Response mentions South Broadway in Lexington
Each assistant message shows from: public-faq-context green chip chip in message header
Ask off-topic (e.g. How much does an MRI cost?) Friendly fallback listing covered FAQ topics

Cross-cutting UX checks

CheckExpected
Loading state shows animated spinner during request spinner rotates while "Thinking…" is displayed
Markdown bold renders in responses (**foo**foo) e.g. "**syn-ortho** has the highest..." renders bold
Markdown bulleted lists render in responses specialty comparison shows actual bullets
Cmd/Ctrl+K clears chat from inside widget same effect as clicking the Clear button
Error state shows red banner with Retry button simulate by setting ?worker=https://bogus.example.com; expect WORKER_FETCH_FAILED
Disable Worker URL, retry → graceful error, no console exceptions response renders in widget; no thrown errors in DevTools

Worker / regression checks

CheckExpected
GET /api/lexi/health from browser 200, workerVersion: "0.2.2"
/proof/worker-roundtrip.html still all-green health + 3 chat checks + bad-deployment denial all PASS
Audit events still emit hashed subject only Worker logs in Cloudflare dashboard: no raw user IDs, no prompt body