CTO · S-01
Why ADK over LangChain — the team already knows LangChain?
"Our engineering team uses LangChain. ADK is newer and less documented. The productivity cost of learning a new framework while building a production system is significant. Why not use what the team knows?"
Architectural response
ADR-007 documents this in full. The short answer is that the CCAI Sales Agent has three integration requirements that ADK handles natively and LangChain handles via custom adapters: CCAI (for phone and web chat), Dialogflow CX (for voice channel routing), and A2A protocol (for typed inter-agent communication). Each adapter is code that the team has to write, test, maintain, and debug. ADK provides all three out of the box. The team productivity argument runs both ways: the team saves time on integration work by using ADK, even if they spend time learning it. The documentation gap is real but temporary — ADK is Google's strategic multi-agent framework and documentation is actively expanding. For a production system that will be maintained for multiple years on a GCP-only architecture, native integration is the correct long-term choice over familiarity.
Evidence: ADR-007 · ADR-008 (A2A typed contracts) · Page 05 CCAI Sales Agent spec (CCAI + Dialogflow CX native integration)
CCO · S-02
Does a conversational sales agent fall under the EU AI Act?
"The EU AI Act has specific rules about AI in commercial interactions. Does the CCAI Sales Agent need to comply? And what are the obligations if it does — particularly around disclosure?"
Architectural response
The CCAI Sales Agent falls under EU AI Act Article 52 — the transparency obligation for AI systems that interact with natural persons. Article 52 applies to any AI system intended to interact with humans in real time, including conversational agents. The obligation is disclosure: the prospect must be informed that they are interacting with an AI system unless the context makes this obvious. The architecture satisfies this at turn 1 — the greeting message includes an explicit disclosure ("I'm an AI assistant"). This is not a compliance bolt-on — it is built into the Greeting state of the FSM. The CCAI Sales Agent does not fall under Annex III High Risk because it does not make consequential decisions about the prospect — it qualifies, configures, and briefs. The AE makes the consequential commercial decisions. The agent's EU AI Act classification is Limited Risk (Article 52), not High Risk (Annex III). The documentation obligation is lighter: the disclosure at turn 1 is the primary requirement, and the Firestore conversation audit log satisfies any retrospective transparency requirement.
Evidence: GREETING state (Art. 52 disclosure at T1) · Firestore conversation audit log · State machine HITL-01 (AE makes commercial decisions, not the agent)
Account Executive · S-04
Will the agent lose deals by sounding robotic before I join?
"Medical imaging sales are relationship-based. A hospital procurement officer who feels like they've been handled by a chatbot for 11 turns is not going to be in a buying frame of mind when I join. How do you prevent the agent from damaging the relationship before I even get involved?"
Architectural response
The quality of the agent's conversational experience is a product design and prompt engineering question — not an architecture question. The architecture addresses the AE's concern in two ways. First, the early escalation branch means the prospect can request a human at any turn — if they say "I'd prefer to speak to a person", the agent immediately triggers HITL-01 without waiting for turn 11. The agent never holds a prospect who wants to talk to a human. Second, the Handoff Agent's suggested opening line is designed to make the AE's entry feel natural, not like a handoff — the suggestion references what the prospect actually said ("the 70cm bore specification you mentioned") which demonstrates continuity of conversation. The architectural commitment is that the agent never overpromises, never misrepresents, and always has an early escalation path. The conversational quality within those constraints is addressed by the Gemini system prompt and the qualification agent's tone guidelines — not by the architecture.
Evidence: Early escalation branch (any turn, prospect-triggered) · Handoff Agent (suggested opening line personalised to conversation) · ADR-SA01 (turn-11 is the natural handoff point, not an interruption)
Enterprise Architect · S-08
How does the agent handle product questions it doesn't know the answer to?
"The Knowledge Agent uses RAG over the product catalogue. But MRI systems have hundreds of technical specifications and configuration options. What happens when a prospect asks a question that isn't in the knowledge base — or asks something that requires clinical expertise to answer correctly?"
Architectural response
The Knowledge Agent has a confidence threshold of 0.72 — if the RAG retrieval score for a question falls below this threshold, the agent does not attempt to answer. Instead, it says: "That's a great question — let me make sure you get a precise answer to that. Our specialist will be able to address that when they join shortly." This response is honest, maintains trust, and does not risk a wrong technical answer that could later undermine the sales process. Questions below the confidence threshold are logged to the HITL-01 briefing package as "unanswered questions — requires AE or clinical specialist response." The AE sees exactly what the prospect asked and what wasn't answered, so they can address it immediately when they join. The architecture is designed to fail gracefully on unknown questions rather than hallucinate a confident-sounding wrong answer.
Evidence: Knowledge Agent spec (confidence threshold 0.72) · HITL-01 briefing package (unanswered questions field) · Page 05 circuit breaker (Knowledge Agent fallback on sub-threshold confidence)
CISO · S-09
Conversation transcripts — data residency and retention?
"Every conversation is stored in Firestore as a full transcript. These conversations may contain names, roles, budget figures, procurement strategies — commercially sensitive information from hospital procurement officers. What is the data residency policy and how long are transcripts retained?"
Architectural response
Firestore conversation state is stored in the europe-west3 region, within the VPC-SC perimeter. The transcript data is classified as Confidential — it contains personally identifiable information (prospect name, role) and commercially sensitive data (budget, procurement intent). Transcript retention is 90 days in Firestore — after which the transcript is deleted and only the structured HITL-01 record (BANT scores, BOM, Salesforce Opportunity reference) is retained in BigQuery with a 7-year audit retention. The prospect's name and contact details are written to the Salesforce Contact object at turn 6 (when the Opportunity is created) — from that point, Salesforce is the system of record for prospect PII, and the Firestore transcript holds only the conversation text. Access to Firestore conversation transcripts is restricted to the CCAI SA (read-write) and the Sales Operations role (read-only for training data purposes, requires Data Governance approval). The CCAI agent itself has no direct access to previous conversations from other sessions — each session starts fresh from the Firestore session_id.
Evidence: Page 07 Firestore IAM (CCAI SA + Sales Ops read-only) · Data classification: Confidential · 90-day transcript retention · Salesforce Contact as PII system of record · VPC-SC europe-west3
CFO · S-03
Cost per qualified lead vs current AE time on qualification calls?
"What does the CCAI Sales Agent actually save? If an AE currently spends 45 minutes on an initial qualification call, and the agent handles 11 turns of qualification, what is the cost saving per lead — and what's the infrastructure cost of the agent itself?"
Architectural response
Current state: an AE spends approximately 45 minutes on an initial qualification call, of which approximately 20 minutes is structured BANT qualification that produces the same information the agent captures in 11 turns. At €120/hour fully loaded AE cost, that's €40 of AE time per qualification call. The CCAI Sales Agent cost per conversation: Cloud Run at minimum 2 instances (~€0.04/hour each) + Gemini 1.5 Flash per turn (~€0.001 per turn × 11 turns = €0.011) + Gemini 1.5 Pro for briefing generation (~€0.08) + Vertex AI RAG (~€0.02) = approximately €0.12 per fully qualified conversation. At 200 inbound inquiries per month, the agent saves approximately €8,000 in AE qualification time at a running cost of approximately €24/month. The 333× cost ratio is not the right metric — the real value is that the AE time saved is redeployed to later-stage deal work where AE relationships matter. The CCAI Sales Agent does not replace AE relationships — it protects AE time for the conversations where relationships are built.
Evidence: Cloud Run pricing · Gemini 1.5 Flash per-token pricing · Page 08 GTM (AE time redeployment to H3 value) · ADR-SA01 (turn-11 boundary maximises agent value before AE joins)