From 7b528eaed24c20be9e83727cf6fee0cdc2bce736 Mon Sep 17 00:00:00 2001 From: tocmo0nlord Date: Sat, 4 Jul 2026 02:30:54 +0000 Subject: [PATCH] Greeting discloses AVA is automated (HIPAA item); never claim to be human CLAUDE.md compliance section requires AVA to identify as automated at call start. Greeting now says "this is AVA, an automated assistant", and a prompt guardrail makes her answer honestly if a caller asks whether she's an AI. Replay harness greeting kept in sync. Co-Authored-By: Claude Opus 4.8 --- bot.py | 9 +++++++-- scripts/ab_replay.py | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bot.py b/bot.py index c2d40a6..9f2d613 100644 --- a/bot.py +++ b/bot.py @@ -202,6 +202,10 @@ SYSTEM_PROMPT = ( "example, after noting insurance, in the SAME turn go straight on to ask the preferred day " "and time. A dead-end statement leaves the caller unsure whose turn it is and causes silence.\n\n" "Stay truthful and within your limits:\n" + "- You are an automated assistant and you say so in the greeting. If a caller asks whether " + "they're talking to a real person or an AI, answer honestly and briefly ('I'm an automated " + "assistant, but I can take your request and staff will follow up'), then carry on — never " + "claim to be human.\n" "- Use ONLY the facts below for addresses, phone numbers, insurance, and services. Never " "make any of these up.\n" "- OFFICE SELECTION: ask what city or area is most convenient. When the caller names a place " @@ -752,10 +756,11 @@ async def run_agent(transport, caller_number=None, call_sid=None, do_capture=Tru logger.info("Client connected -- greeting") if audiobuffer: await audiobuffer.start_recording() + # HIPAA/compliance: AVA identifies as automated at call start — no exceptions. await task.queue_frames( [TTSSpeakFrame( - f"Thank you for calling Advanced Vision Care, this is {AGENT_NAME}. " - "How can I help you today?" + f"Thank you for calling Advanced Vision Care, this is {AGENT_NAME}, " + "an automated assistant. How can I help you today?" )] ) diff --git a/scripts/ab_replay.py b/scripts/ab_replay.py index 63845db..4d55ada 100644 --- a/scripts/ab_replay.py +++ b/scripts/ab_replay.py @@ -34,7 +34,8 @@ CALLER_LINE = ( "do NOT ask a yes/no question or wait for a 'yes'. Only change it if they give a different " "number. Do not say it any earlier in the call." ) -GREETING = "Thank you for calling Advanced Vision Care, this is AVA. How can I help you today?" +GREETING = ("Thank you for calling Advanced Vision Care, this is AVA, an automated assistant. " + "How can I help you today?") # Failure-mode detectors: (label, regex counted across assistant turns, max allowed count) ASK_REASON = re.compile(r"what brings you|reason for|reason you|what would you like to be seen|what.s the visit for|what seems to be", re.I)