| Field | Value |
|---|---|
| Scene | agents/hermes/demo_scenes/dental_walkthrough |
| Run timestamp (UTC) | 2026-08-03T17:15:08Z |
| Result | PASS |
| Duration | ~3 min 35 s |
| Target | https://test-client-dental.dental.veripath.co.uk |
| Roles | Reception → Dentist → Practice Manager → Admin |
| Steps | 60 (all OK) |
| Screenshots | 15 (all captured, uploaded) |
| RBAC check | Receptionist blocked from Financial (HTTP 403) ✓ |
Marketing demo of the dental booking module on the Test Client Dental practice
instance. Read-only scene — no data was submitted. All test accounts use the
test123password in thetest-client-dentalKeycloak realm.
| # | Role | Action | Result | Screenshot |
|---|---|---|---|---|
| 1 | Reception | NOTE: Front of house — the receptionist manages the practice calendar, appointments and recalls. | OK | — |
| 2 | Reception | USER: RECEPTION (isolated session) | OK | — |
| 3 | Reception | NAVIGATE → {URL} |
OK | — |
| 4 | Reception | KEYCLOAK_LOGIN → RECEPTION | 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 → HTTP 403 + denied body | OK | — |
| 16 | Reception | SCREENSHOT → reception_financial_403 | OK | ![]() |
| 17 | Dentist | NOTE: Clinical — the dentist reviews FP17 claims, charting, perio examinations and radiographs. | OK | — |
| 18 | Dentist | USER: DENTIST (isolated session) | OK | — |
| 19 | Dentist | NAVIGATE → {URL} |
OK | — |
| 20 | Dentist | KEYCLOAK_LOGIN → DENTIST | 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 in FP17 list (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, Elena Popova) | OK | — |
| 30 | Dentist | SCREENSHOT → dentist_chart | OK | ![]() |
| 31 | Dentist | NAVIGATE → /dental/perio/ |
OK | — |
| 32 | Dentist | CLICK → first perio exam row (Elena Popova) | OK | — |
| 33 | Dentist | SCREENSHOT → dentist_perio | OK | ![]() |
| 34 | Dentist | NAVIGATE → /dental/radiographs/ |
OK | — |
| 35 | Dentist | SCREENSHOT → dentist_radiographs | OK | ![]() |
| 36 | Manager | NOTE: Practice Manager — financials, seat management and staff rotas. | OK | — |
| 37 | Manager | USER: MANAGER (isolated session) | OK | — |
| 38 | Manager | NAVIGATE → {URL} |
OK | — |
| 39 | Manager | KEYCLOAK_LOGIN → MANAGER | 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 | ![]() |
| 48 | Admin | NOTE: Admin — practice settings, zones and schedules, and provider management. | OK | — |
| 49 | Admin | USER: ADMIN (isolated session) | OK | — |
| 50 | Admin | NAVIGATE → {URL} |
OK | — |
| 51 | Admin | KEYCLOAK_LOGIN → ADMIN | 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 | ![]() |
| 60 | Admin | NOTE: Walkthrough complete — all four dental roles demonstrated, including the RBAC block. | OK | — |
Front of house (Reception). The receptionist lands on the practice overview,
checks the day's appointments (empty state in this instance), reviews the Recall
Management board (3 patients due under the 180-day Check-up rule) — and is
blocked from Financial with HTTP 403: "You do not have permission to access
this resource. Required roles: DENTAL_ADMIN, DENTAL_PRACTICE_MANAGER".
Clinical (Dentist). The dentist reviews the FP17 NHS claims list (Claim #16,
Band 1, Rejected), opens the claim detail, drills into the clinical chart for
Tooth 27 (Elena Popova), views a 6-point periodontal exam record, and browses
the radiograph library (bitewings for Maria Lopez and Tom Bennett).
Practice Manager. Financial Dashboard for August 2026 (£375 total revenue,
4 NHS + 2 private appointments, 0 DNA), Seat Licensing (8 purchased seats,
flat £125/seat/month), and Staff Management (Holloway, Nguyen, Haddad — all
Active at Test Client Dental Practice).
Admin. Appointment Zones (Hygiene 30 min, NHS Check-up 30 min, NHS Filling
45 min, Private Suite 45 min), Provider Schedule Blocks (Holloway & Nguyen week
rotas), and Dental Providers (Holloway ↔ dentist.test-client-dental, Nguyen ↔
hygienist.test-client-dental, Haddad unlinked).
runs/dental_walkthrough_20260803T171508Z/steps.log (60 steps, all OK)runs/dental_walkthrough_20260803T171508Z/shots/*.png (15 PNGs, uploaded to /demo-runs/)