Docs: add Call Workflow section (ordered call script)

Document AVA's directed call script — reason first, location, caller info
(address by name), verify phone by readback near the end, wrap up with "anything
else?" — and the gated closing (Goodbye only after the anything-else question).
Note the 8B reliability ceiling on step ordering.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
tocmo0nlord
2026-06-27 03:44:31 +00:00
parent 9d65fa9aaa
commit 667cf87202

View File

@@ -241,6 +241,28 @@ AB_MODEL_B=
---
## Call Workflow
AVA runs a directed script (system prompt in `bot.py`) — warm but direct, one short turn at a
time, leading the call rather than waiting on the caller. Fixed order:
1. **Reason first** — find out what they're calling about (visit reason, or just a question → answer it).
2. **Location** — ask city/area, confirm the matching office (don't offer others — see office rule).
3. **Caller info** — full name (ask last name if only a first is given), then **address the caller
by name** from there on; insurance (log only); preferred day/time in their words.
4. **Verify phone** — near the end, read the caller-ID back digit-by-digit and ask if it's best;
if not, use the number they give. Never raised earlier in the call.
5. **Wrap up** — recap the booking by name, then ask **"Is there anything else I can help you
with?"**
**Closing is gated:** the word "Goodbye" ends the call (triggers `EndCallProcessor` → hang-up),
so it is never said in the same turn as confirming details and never before the anything-else
question — only after the caller says they need nothing more.
> Reliability: this is prompt-driven on the local 8B, so order is followed well but not
> perfectly — the phone-readback step in particular varies (sometimes reads back, sometimes
> asks for the number), and it can re-ask a last name. Same model ceiling noted elsewhere.
## Call Data Capture
What AVA collects on a booking call and how it's logged. Driven by the system prompt