Scene: agents/hermes/demo_scenes/dental_appointment_booking
Run: dental_appointment_booking_20260813T100619Z
Timestamp (UTC): 2026-08-13T10:06:19Z — 2026-08-13T10:10:59Z (≈ 4.7 min)
Result: ✅ PASS
Instance: Test Client Dental — https://test-client-dental.dental.veripath.co.uk (reseeded before run)
Role shown: RECEPTION (reception.test-client-dental)
Nature: Live interactive demo — control channel polled before every step; no viewer questions or notes received.
The reception stage of the patient journey ran end-to-end on the live Test Client
Dental instance. The receptionist logged in via Keycloak SSO, opened the
appointments desk, and booked Oliver Reed's appointment through the native dental
flow — practice → appointment type (Filling, driven by the reported symptoms:
sharp pain on hot/cold + dark spot on lower right premolar → decay → direct
restoration) → provider (Holloway, Sarah) → date (Mon 2026-08-17) → slot →
patient record (Oliver Reed — 30/06/1975) → NHS Band 2 → symptoms note →
submit. The rule-based AI triage ran from the symptoms note; the appointment was
created BOOKED with the success banner and an AI Priority score, and the
booking landed at the top of Needs Triage on the AI Triage Dashboard — the
handoff point for the dentist's review demo.
Every step passed verbatim, including the dependent-select chain (practice → type
→ provider → date) which round-trips correctly after the 2026-08-13 fixes. All
verifications (view, text, success banner, triage queue) succeeded. Data is dummy
test-client data; no real PII involved.
| # | Role | Action | Result | Screenshot |
|---|---|---|---|---|
| 1 | RECEPTION | NOTE: Welcome — reception stage narration | OK | — |
| 2 | RECEPTION | USER: RECEPTION | OK | — |
| 3 | RECEPTION | NAVIGATE → {URL} (Keycloak SSO redirect) | OK | — |
| 4 | RECEPTION | KEYCLOAK_LOGIN → RECEPTION | OK | — |
| 5 | RECEPTION | VERIFY_VIEW → /dental/practices/ | OK | — |
| 6 | RECEPTION | NAVIGATE → /dental/appointments/ | OK | — |
| 7 | RECEPTION | VERIFY_VIEW → /dental/appointments/ | OK | — |
| 8 | RECEPTION | VERIFY_TEXT → Appointments | OK | — |
| 9 | RECEPTION | SCREENSHOT → appointment_list | OK | ![]() |
| 10 | RECEPTION | PAUSE_AND_DISCUSS (appointments desk) | OK (timeout, no questions) | — |
| 11 | RECEPTION | NAVIGATE → /dental/appointments/create/ | OK | — |
| 12 | RECEPTION | VERIFY_VIEW → /dental/appointments/create/ | OK | — |
| 13 | RECEPTION | VERIFY_TEXT → Book Appointment | OK | — |
| 14 | RECEPTION | TYPE practice → Test Client Dental Practice | OK | — |
| 15 | RECEPTION | WAIT_MS 1500 | OK | — |
| 16 | RECEPTION | TYPE appointment_type → Filling | OK | — |
| 17 | RECEPTION | WAIT_MS 1500 | OK | — |
| 18 | RECEPTION | PAUSE_AND_DISCUSS (symptoms → type) | OK (timeout, no questions) | — |
| 19 | RECEPTION | TYPE provider → Holloway, Sarah | OK | — |
| 20 | RECEPTION | WAIT_MS 1500 | OK | — |
| 21 | RECEPTION | TYPE date → NEXT_MONDAY (2026-08-17) | OK | — |
| 22 | RECEPTION | WAIT_MS 1500 | OK | — |
| 23 | RECEPTION | VERIFY_TEXT → Available slots | OK | — |
| 24 | RECEPTION | SCREENSHOT → booking_filters | OK | ![]() |
| 25 | RECEPTION | TYPE patient_id → Oliver Reed | OK | — |
| 26 | RECEPTION | PAUSE_AND_DISCUSS (patient record) | OK (timeout, no questions) | — |
| 27 | RECEPTION | TYPE nhs_band → Band 2 | OK | — |
| 28 | RECEPTION | TYPE symptoms note (sharp pain hot/cold, dark spot lower right premolar) | OK | — |
| 29 | RECEPTION | CLICK first available slot | OK | — |
| 30 | RECEPTION | SCREENSHOT → booking_form_filled | OK | ![]() |
| 31 | RECEPTION | PAUSE_AND_DISCUSS (ready to submit) | OK (timeout, no questions) | — |
| 32 | RECEPTION | CLICK submit | OK | — |
| 33 | RECEPTION | WAIT_MS 2500 | OK | — |
| 34 | RECEPTION | VERIFY_VIEW → /dental/appointments/ (detail /dental/appointments/646/) | OK | — |
| 35 | RECEPTION | VERIFY_TEXT → Appointment booked (success banner) | OK | — |
| 36 | RECEPTION | VERIFY_TEXT → Oliver Reed | OK | — |
| 37 | RECEPTION | VERIFY_TEXT → BOOKED | OK | — |
| 38 | RECEPTION | VERIFY_TEXT → AI Priority | OK | — |
| 39 | RECEPTION | SCREENSHOT → booking_created | OK | ![]() |
| 40 | RECEPTION | PAUSE_AND_DISCUSS (created + AI priority) | OK (timeout, no questions) | — |
| 41 | RECEPTION | NAVIGATE → /dental/triage/ | OK | — |
| 42 | RECEPTION | VERIFY_VIEW → /dental/triage/ | OK | — |
| 43 | RECEPTION | VERIFY_TEXT → AI Triage Dashboard | OK | — |
| 44 | RECEPTION | VERIFY_TEXT → Oliver Reed (top of Needs Triage) | OK | — |
| 45 | RECEPTION | SCREENSHOT → triage_queue | OK | ![]() |
| 46 | RECEPTION | NOTE: handoff to dentist review demo | OK | — |
No viewer questions were received during this run (control channel polled before
every step; five discussion pauses all auto-continued on their 5s timeout with
empty inboxes).
None captured this run. The dependent-select chain (practice → type → provider →
date) and the POST submit behaved exactly as fixed in run ...071554Z — no
selector drift, no missing hidden fields, success banner rendered.
/opt/hermes-demo/runs/dental_appointment_booking_20260813T100619Z/shots//opt/hermes-demo/runs/dental_appointment_booking_20260813T100619Z/steps.log/opt/hermes-demo/runs/dental_appointment_booking_20260813T100619Z/outbox.json