Glossary

Every term of art these docs lean on, then every configuration variable in the system. Terms first, alphabetical; variables after, with secrets marked. The canonical grouped variable reference lives on Operations; this is the flat lookup.

Terms

TermMeaning here
A2P / 10DLCApplication-to-person messaging over ten-digit long-code numbers. Carriers require a registered brand and campaign with a verifiable opt-in before business SMS deliver reliably.
BackchannelA short acknowledgment ('mm-hm', 'let me check') that keeps a conversation feeling alive. In the director roadmap these are pre-synthesized clips the talker plays while the brain works.
BAABusiness Associate Agreement: the HIPAA contract that must cover a vendor's specific service before PHI may touch it. See the compliance page for the full chain.
Barge-inThe caller talking over Elle and being honored: generation, synthesis, and playback all cancel, and her memory is truncated to what was actually heard.
BM25The classic lexical ranking function behind the knowledge search; retrieval with no embeddings and no vector database.
Cache breakpointA cache_control marker on a prompt block telling the API 'everything up to here may be reused.' One rides the static persona; another rides the conversation's last message.
CascadeThe architecture family where STT, LLM, and TTS are separate components passing text: maximal control, timer-based turn-taking. Elle's production stack is an advanced cascade.
Code-switchingChanging language mid-conversation, even mid-sentence. Nova-3's multi mode transcribes it in one stream, tagging each word's language.
ContainmentThe fraction of calls the AI resolves end to end with no human. The single most valuable number in the call-center economics: one point ≈ $55K/month at modeled volume.
CTA (call to action)In A2P review, the public place where a consumer learns how to opt in. Reviewers must be able to find and verify it; ask.html carries Elle's.
DirectorThe roadmap architecture: hearing and turn-taking fused into one duplex model that answers routine turns itself and escalates hard ones to the brain, whose sentences stream straight to the house TTS.
Duplex modelA model that listens and speaks simultaneously rather than in strict turns, making turn-taking judgment part of the model instead of a timer.
EndpointingThe STT's decision that a speaker has finished, from trailing silence. Tunable; the cascade's one native compromise, and what the director removes.
EscalationThe talker handing a hard turn to the inference brain via a tool call, invisibly to the caller. The delegation-leak eval exists to keep it invisible.
Fusion boundaryWhich of the four layers (hearing, judgment, reasoning, speech) are merged into one model. Every voice architecture is a choice of boundary; the trade-offs page prices them.
Greeting gateThe bridge-side lock that keeps barge-in disabled until every frame of the opening message has been sent to the caller.
Half-cascadeIndustry term for audio-in, text-middle, synthesized-out architectures; the director is a full-fledged one with an escalation tier.
μ-law (G.711)The 8 kHz telephone audio codec Twilio speaks. Both speech legs run it natively, so no transcoding happens anywhere: 8 bytes per millisecond, 160 bytes per 20 ms frame.
Media streamTwilio's bidirectional WebSocket carrying live call audio; guarded by the HMAC media token.
Pairing codeThe short code Elle speaks that joins a browser to the live call for transcripts, visuals, and typed input.
PHIProtected Health Information under HIPAA. Elle handles none; the compliance page documents the path a deployment that does would take.
Prompt cacheProvider-side reuse of an identical prompt prefix at ~10% of input price. Three layers of it cut the LLM line ~85%.
Silent-call guardThe timer that hangs up a call whose caller has said nothing (robocall probes); cleared by the first real utterance, typed input included.
Smart turn / semantic VADVendor terms for end-of-turn detection smarter than a silence timer; the shallow cousin of what the director fuses.
Speech-to-speech (fused)One model consuming and producing audio directly. Most natural turn-taking, but paraphrased output, voice lock-in, and 5-10x cost; Elle's demo mode.
Static / dynamic splitThe prompt discipline making caching work across calls: byte-identical persona first, per-call context after, so the shared prefix never breaks.
Talker / thinkerInformal names for the director's two halves: the cheap fused model that handles most turns, and the full LLM it escalates to.
turnSeqThe integer at the heart of cancellation: every turn captures it, barge-in increments it, and any stage whose copy is stale stops at its next checkpoint.
TwiMLTwilio's XML instruction language; the /voice-realtime webhook answers with TwiML that opens the media stream and embeds the media token.
UtteranceOne complete caller turn as assembled by the STT from final transcripts, ended by endpointing or its slower fallback.
VADVoice activity detection: 'sound is happening.' Deliberately NOT trusted for barge-in, which requires recognized words.
Verbatim deliverySpeaking a script exactly as written; guaranteed by the cascade's text bottleneck and impossible to guarantee in fused speech-to-speech.
WALSQLite's write-ahead log mode, letting live-call writes and admin reads coexist without blocking.
Warm socketA connection opened before it is needed (TTS during LLM thinking) so the handshake never delays the first audible word.
ZDRZero data retention: the API configuration OpenAI requires alongside its BAA before PHI may touch the Realtime API.

Variables

Everything tunable, A to Z. SECRET marks values that live only in Secret Manager and are documented by name only, everywhere, always.

VariablePurpose
ABUSE_BLOCK_AFTERCalls in the window after which a number is blocked before the paid pipeline starts.
ABUSE_LIMITED_AFTERCalls in the window after which a caller gets the short-and-capped treatment.
ABUSE_LIMITED_MAX_SECONDSHard duration cap for limited-tier calls.
ABUSE_WINDOW_HOURSRolling window for repeat-caller counting.
ADMIN_TOKENSECRET Enables /admin views; absent, they 404. Compared timing-safe.
ANTHROPIC_API_KEYSECRET Claude via the Anthropic API (LLM_PROVIDER=anthropic).
ASK_PATHPath of the page carrying chat + pairing on the site (default /ask.html).
ASSISTANT_NAMEThe assistant's name; 'Elle'.
BOOKING_CALENDAR_IDGoogle Calendar receiving tentative holds; unset degrades booking to lead capture.
BOOKING_DURATION_MINUTESIntro-call length.
BOOKING_TIMEZONEThe owner's timezone for read-backs and event times.
BOT_MODEinterview (represents the owner) or learn (interviews the caller); auto-selected from profile presence.
CLAUDE_MODELModel id for the Anthropic path; Haiku-class by default for voice economics.
CORS_ORIGINOrigins allowed on /api/*, so the main site can embed the chat.
DEEPGRAM_API_KEYSECRET One key for streaming STT and Aura TTS.
DEEPGRAM_BARGE_IN_GRACE_MSIgnore interruptions this long after Elle starts a reply (echo protection).
DEEPGRAM_BARGE_IN_MIN_CHARSRecognized characters required before speech counts as an interruption.
DEEPGRAM_ENDPOINTING_MSTrailing silence that ends a caller's turn; the patience/latency dial.
DEEPGRAM_STT_MODELEnglish-only STT model (nova-2-phonecall).
DEEPGRAM_STT_MULTI_MODELCode-switching model for bilingual calls (nova-3 with language=multi).
DEEPGRAM_TTS_MODELElle's English voice (aura-2-thalia-en, a bright American female voice from the Aura-2 catalog).
DEEPGRAM_TTS_MODEL_ESElle's Spanish voice (aura-2-celeste-es).
KNOWLEDGE_DIRMarkdown directory that becomes the RAG knowledge base.
LANGUAGESConversation languages; more than one enables bilingual mode end to end.
LLM_PROVIDERanthropic | vertex (same models inside the GCP BAA) | openai-compatible.
MAX_CALL_SECONDSHard ceiling on any realtime call (default 600); the autodialer backstop.
OPENAI_API_KEYSECRET Key for the OpenAI-compatible text path (open models, self-hosted vLLM).
OPENAI_BASE_URLEndpoint for the OpenAI-compatible text path.
OPENAI_MODELModel id for the OpenAI-compatible text path.
OPENAI_REALTIME_API_KEYSECRET Fused speech-to-speech demo mode; absent, the runtime switch refuses demo mode.
OPENAI_REALTIME_MODELRealtime model id for demo mode.
PORTHTTP port (Cloud Run injects it).
PROFILE_NAMEThe owner Elle represents.
PROFILE_PATHMarkdown profile enabling interview mode.
PUBLIC_URLThe service's public base URL; webhooks, pairing links, signature validation.
REALTIME_PROVIDERDefault voice architecture: deepgram (cascade) | openai (demo); owner-overridable at runtime.
REALTIME_VOICEVoice for the fused demo mode.
RECORDING_BUCKETGCS bucket for recordings, when enabled.
RECORDING_ENABLEDOff by default; enabling requires the spoken consent notice.
RECORDING_PREFIXObject prefix inside the bucket.
SITE_URLThe human-facing website visitors and callers are sent to; distinct from PUBLIC_URL (this service's origin).
SILENT_HANGUP_SECONDSHang up if the caller has said nothing this long (default 75); 0 disables.
SQLITE_PATHWhere the database file lives.
TELEGRAM_BOT_TOKENSECRET The owner intake bot's API token.
TELEGRAM_OWNER_IDThe single numeric account the intake channel obeys; unset = self-serve setup mode.
TELEGRAM_WEBHOOK_SECRETSECRET Shared secret echoed on every update; mismatches are dropped.
TTS_VOICEVoice for the legacy cascaded path.
TWILIO_ACCOUNT_SIDAccount id for outbound SMS.
TWILIO_AUTH_TOKENSECRET Webhook signature validation, and the HMAC key for media-stream tokens.
TWILIO_FROM_NUMBERThe public number, E.164, for outbound sends.
VERTEX_MODELExact Model Garden id, region-pinned.
VERTEX_PROJECT_IDGCP project for the Vertex path (auth is ADC; no key exists).
VERTEX_REGIONRegion serving the Vertex model.

Log vocabulary

PrefixStream
[timing]Per-turn latency budget: utterance end path, first token, first sentence, first audio.
[voice]Conversation events: utterances, barge-ins, echo suppressions, language switches, merges, failures.
[call]Call boundaries, caller number, tier, and the guard firings (duration cap, silent hangup).
[llm]Token accounting: in / cacheRead / cacheWrite / out.
[sms] · [telegram]Channel traffic, consent confirmations, outreach sends, gate rejections.

Runtime settings (the settings table)

KeyMeaning
voice_providerThe owner's runtime architecture override (cascade/demo); set from the private channel, survives restarts, cleared to fall back to REALTIME_PROVIDER.