Live interactive run of the dental booking module on the Test Client Dental practice instance.
| Field | Value |
|---|---|
| Scene | agents/hermes/demo_scenes/dental_walkthrough |
| Run ID | dental_walkthrough_20260804T172640Z |
| Started (UTC) | 2026-08-04T17:26:40Z |
| Finished (UTC) | 2026-08-04T17:30:31Z |
| Duration | ~3 min 51 s |
| Result | PASS |
| Mode | Live interactive (control channel polled before every step) |
| Data | Read-only scene — no data submitted (dummy/synthetic data only, DSPT-safe) |
Four roles in order — Reception → Dentist → Practice Manager → Admin — ending
each segment where the next begins, plus a deliberate RBAC block: the receptionist
is denied access to Financial (403, required roles DENTAL_ADMIN,
DENTAL_PRACTICE_MANAGER), proving role-based access control. The same page is
then shown successfully as the Practice Manager. Every role was signed out before
the next login so Keycloak sessions never leaked between roles.
| # | Role | Action | Result | Screenshot |
|---|---|---|---|---|
| 1 | — | NOTE: Front of house — receptionist manages calendar, appointments, recalls | OK | — |
| 2 | RECEPTION | USER switch | OK | — |
| 3 | RECEPTION | NAVIGATE app URL (Keycloak login) | OK | — |
| 4 | RECEPTION | KEYCLOAK_LOGIN | OK | — |
| 5 | RECEPTION | VERIFY_VIEW /dental/practices/ |
OK | — |
| 6 | RECEPTION | VERIFY_TEXT "Test Client Dental Practice" | OK | — |
| 7 | RECEPTION | SCREENSHOT practices | OK | ![]() |
| 8 | RECEPTION | NAVIGATE appointments | OK | — |
| 9 | RECEPTION | VERIFY_VIEW /dental/appointments/ |
OK | — |
| 10 | RECEPTION | SCREENSHOT appointments | OK | ![]() |
| 11 | RECEPTION | NAVIGATE recalls | OK | — |
| 12 | RECEPTION | VERIFY_TEXT "Recall Management" | OK | — |
| 13 | RECEPTION | SCREENSHOT recalls | OK | ![]() |
| 14 | RECEPTION | NAVIGATE financial (RBAC block) | OK | — |
| 15 | RECEPTION | EXPECT_403 | OK — status 403 + "You do not have permission… Required roles: DENTAL_ADMIN, DENTAL_PRACTICE_MANAGER" | — |
| 16 | RECEPTION | SCREENSHOT financial 403 | OK | ![]() |
| 17 | — | NOTE: Clinical — dentist reviews FP17 claims, charting, perio, radiographs | OK | — |
| 18 | DENTIST | USER switch (signed out Reception first) | OK | — |
| 19 | DENTIST | NAVIGATE app URL (Keycloak login) | OK | — |
| 20 | DENTIST | KEYCLOAK_LOGIN | OK | — |
| 21 | DENTIST | VERIFY_VIEW /dental/practices/ |
OK | — |
| 22 | DENTIST | NAVIGATE FP17 claims | OK | — |
| 23 | DENTIST | VERIFY_TEXT "FP17" | OK | — |
| 24 | DENTIST | SCREENSHOT FP17 list | OK | ![]() |
| 25 | DENTIST | CLICK first claim row (Claim #84) | OK | — |
| 26 | DENTIST | SCREENSHOT FP17 detail | OK | ![]() |
| 27 | DENTIST | NAVIGATE charts | OK | — |
| 28 | DENTIST | VERIFY_TEXT "Chart" | OK | — |
| 29 | DENTIST | CLICK first chart row (Tooth 27) | OK | — |
| 30 | DENTIST | SCREENSHOT chart detail | OK | ![]() |
| 31 | DENTIST | NAVIGATE periodontal exams | OK | — |
| 32 | DENTIST | CLICK first perio exam row (Elena Popova) | OK | — |
| 33 | DENTIST | SCREENSHOT perio exam | OK | ![]() |
| 34 | DENTIST | NAVIGATE radiographs | OK | — |
| 35 | DENTIST | SCREENSHOT radiographs | OK | ![]() |
| 36 | — | NOTE: Practice Manager — financials, seats, staff rotas | OK | — |
| 37 | MANAGER | USER switch (signed out Dentist first) | OK | — |
| 38 | MANAGER | NAVIGATE app URL (Keycloak login) | OK | — |
| 39 | MANAGER | KEYCLOAK_LOGIN | OK | — |
| 40 | MANAGER | VERIFY_VIEW /dental/practices/ |
OK | — |
| 41 | MANAGER | NAVIGATE financial (access granted) | OK | — |
| 42 | MANAGER | VERIFY_VIEW /dental/financial/ |
OK | — |
| 43 | MANAGER | SCREENSHOT financial dashboard | OK | ![]() |
| 44 | MANAGER | NAVIGATE seats | OK | — |
| 45 | MANAGER | SCREENSHOT seat licensing | OK | ![]() |
| 46 | MANAGER | NAVIGATE staff | OK | — |
| 47 | MANAGER | SCREENSHOT staff management | OK | ![]() |
| 48 | — | NOTE: Admin — settings, zones, schedules, providers | OK | — |
| 49 | ADMIN | USER switch (signed out Manager first) | OK | — |
| 50 | ADMIN | NAVIGATE app URL (Keycloak login) | OK | — |
| 51 | ADMIN | KEYCLOAK_LOGIN | OK | — |
| 52 | ADMIN | VERIFY_VIEW /dental/practices/ |
OK | — |
| 53 | ADMIN | NAVIGATE settings → zones | OK | — |
| 54 | ADMIN | VERIFY_TEXT "Zone" | OK | — |
| 55 | ADMIN | SCREENSHOT appointment zones | OK | ![]() |
| 56 | ADMIN | NAVIGATE settings → schedules | OK | — |
| 57 | ADMIN | SCREENSHOT provider schedule blocks | OK | ![]() |
| 58 | ADMIN | NAVIGATE providers | OK | — |
| 59 | ADMIN | SCREENSHOT dental providers | OK | ![]() |
| 60 | — | NOTE: Walkthrough complete — all four dental roles demonstrated, incl. RBAC block | OK | — |
No viewer questions were received during this run — the channel stayed RUNNING
with an empty inbox throughout; no pause/resume was requested.
No development notes were requested by the audience (no --note messages); no
notes.md was produced, so there is no feedback queued for OpenCode.