| Field | Value |
|---|---|
| Scene | agents/hermes/demo_scenes/dental_walkthrough |
| Target | https://test-client-dental.dental.veripath.co.uk |
| Run timestamp (UTC) | 2026-08-03T14:54:57Z |
| Result | PASS |
| Duration | ~3 min 42 s |
| Roles demonstrated | Reception → Dentist → Practice Manager → Admin |
| Steps executed | 60 / 60 (no failures) |
| Screenshots | 15 (all uploaded to /demo-runs/) |
Marketing demo of the dental booking module on the Test Client Dental practice
instance. Four roles, one deliberate RBAC block (receptionist → Financial → 403)
proving role-based access control. Read-only scene; no data was submitted.
Narration: Front of house — the receptionist manages the practice calendar, appointments and recalls.
| # | Role | Action | Result | Screenshot |
|---|---|---|---|---|
| 2 | RECEPTION | USER: switch to isolated session | OK | |
| 3 | RECEPTION | NAVIGATE {URL} |
OK (Keycloak redirect) | |
| 4 | RECEPTION | KEYCLOAK_LOGIN | OK | |
| 5 | RECEPTION | VERIFY_VIEW /dental/practices/ |
OK | |
| 6 | RECEPTION | VERIFY_TEXT "Test Client Dental Practice" | OK | |
| 7 | RECEPTION | SCREENSHOT reception_practices |
OK | ![]() |
| 8 | RECEPTION | NAVIGATE /dental/appointments/ |
OK | |
| 9 | RECEPTION | VERIFY_VIEW /dental/appointments/ |
OK | |
| 10 | RECEPTION | SCREENSHOT reception_appointments |
OK | ![]() |
| 11 | RECEPTION | NAVIGATE /dental/recalls/ |
OK | |
| 12 | RECEPTION | VERIFY_TEXT "Recall Management" | OK | |
| 13 | RECEPTION | SCREENSHOT reception_recalls |
OK | ![]() |
| 14 | RECEPTION | NAVIGATE /dental/financial/ |
OK | |
| 15 | RECEPTION | EXPECT_403 | OK (HTTP 403 + "You do not have permission … Required roles: DENTAL_ADMIN, DENTAL_PRACTICE_MANAGER") | |
| 16 | RECEPTION | SCREENSHOT reception_financial_403 |
OK | ![]() |
Narration: Clinical — the dentist reviews FP17 claims, charting, perio examinations and radiographs.
| # | Role | Action | Result | Screenshot |
|---|---|---|---|---|
| 18 | DENTIST | USER: switch to isolated session | OK | |
| 19 | DENTIST | NAVIGATE {URL} |
OK (explicit logout of previous role first — browser sessions shared in this environment) | |
| 20 | DENTIST | KEYCLOAK_LOGIN | OK | |
| 21 | DENTIST | VERIFY_VIEW /dental/practices/ |
OK | |
| 22 | DENTIST | NAVIGATE /dental/fp17/ |
OK | |
| 23 | DENTIST | VERIFY_TEXT "FP17" | OK | |
| 24 | DENTIST | SCREENSHOT dentist_fp17 |
OK | ![]() |
| 25 | DENTIST | CLICK first claim row (Claim #16) | OK | |
| 26 | DENTIST | SCREENSHOT dentist_fp17_detail |
OK | ![]() |
| 27 | DENTIST | NAVIGATE /dental/charts/ |
OK | |
| 28 | DENTIST | VERIFY_TEXT "Chart" | OK | |
| 29 | DENTIST | CLICK first chart row (Tooth 27) | OK | |
| 30 | DENTIST | SCREENSHOT dentist_chart |
OK | ![]() |
| 31 | DENTIST | NAVIGATE /dental/perio/ |
OK | |
| 32 | DENTIST | CLICK first perio exam row | OK | |
| 33 | DENTIST | SCREENSHOT dentist_perio |
OK | ![]() |
| 34 | DENTIST | NAVIGATE /dental/radiographs/ |
OK | |
| 35 | DENTIST | SCREENSHOT dentist_radiographs |
OK | ![]() |
Narration: Practice Manager — financials, seat management and staff rotas.
| # | Role | Action | Result | Screenshot |
|---|---|---|---|---|
| 37 | MANAGER | USER: switch to isolated session | OK | |
| 38 | MANAGER | NAVIGATE {URL} |
OK (logout dentist → Keycloak) | |
| 39 | MANAGER | KEYCLOAK_LOGIN | OK | |
| 40 | MANAGER | VERIFY_VIEW /dental/practices/ |
OK | |
| 41 | MANAGER | NAVIGATE /dental/financial/ |
OK | |
| 42 | MANAGER | VERIFY_VIEW /dental/financial/ |
OK | |
| 43 | MANAGER | SCREENSHOT manager_financial |
OK | ![]() |
| 44 | MANAGER | NAVIGATE /dental/seats/ |
OK | |
| 45 | MANAGER | SCREENSHOT manager_seats |
OK | ![]() |
| 46 | MANAGER | NAVIGATE /dental/staff/ |
OK | |
| 47 | MANAGER | SCREENSHOT manager_staff |
OK | ![]() |
Narration: Admin — practice settings, zones and schedules, and provider management.
| # | Role | Action | Result | Screenshot |
|---|---|---|---|---|
| 49 | ADMIN | USER: switch to isolated session | OK | |
| 50 | ADMIN | NAVIGATE {URL} |
OK (logout manager → Keycloak) | |
| 51 | ADMIN | KEYCLOAK_LOGIN | OK | |
| 52 | ADMIN | VERIFY_VIEW /dental/practices/ |
OK | |
| 53 | ADMIN | NAVIGATE /dental/settings/zones/ |
OK | |
| 54 | ADMIN | VERIFY_TEXT "Zone" | OK | |
| 55 | ADMIN | SCREENSHOT admin_zones |
OK | ![]() |
| 56 | ADMIN | NAVIGATE /dental/settings/schedules/ |
OK | |
| 57 | ADMIN | SCREENSHOT admin_schedules |
OK | ![]() |
| 58 | ADMIN | NAVIGATE /dental/providers/ |
OK | |
| 59 | ADMIN | SCREENSHOT admin_providers |
OK | ![]() |
Narration: Walkthrough complete — all four dental roles demonstrated, including the RBAC block.
test123); no secrets