Consumer Cellular voice demo¶
Status: Current | Last reviewed: 2026-10-05
The current Vanguard draft retains the user's selected ElevenLabs Claire voice
(A9hvW90SK1w1iyI1xxf9, Text to Dialogue / eleven_v4_turbo), with
GPT Live native output disabled. The archived fourth example uses native Gleam;
replaying that audio does not change the draft's voice selection.
Listening guidance permits brief reactions during personal anecdotes, but waits through billing, thanks, relief, and goodbyes. In particular, 'You’re welcome' is a full reply after the caller finishes, not an overlapping backchannel. Closing guidance forbids spoken progress such as 'holding the line'.
A fresh ElevenLabs-Claire verification (f51215a3-a14d-4dfb-bf7a-2bbbeb3e12b9)
retained the whole payment answer in one caption and ended with one farewell,
without holding-line narration. The caller’s thank-you audio ended at 61.114 s;
the first welcome-response audio arrived at 63.061 s (about 1.95 s later).
One native [mouth noise] caption remained before the farewell without a
corresponding TTS audio burst. These are observations of one generated call.
The October 5 draft adds Closing voice policy: no preliminary "bye" or
listening acknowledgment once the caller starts leaving. Live silently
delegates call control, speaks the backend's single closing line, then remains
silent through disconnect. This addresses a captured run with a native "Bye"
immediately before the tool-backed farewell. It is prompt guidance, not a
guarantee imposed by an audio filter. Test fresh speech when changing it.
Fresh local Mock Caller verification on October 5
(43909739-ad63-4132-a981-2958c4ae584e) produced four distinct caller turns,
one accepted end_session, and one final farewell. The granddaughter story
retained its provider start before the agent's reactions despite arriving late.
This verifies that sample; it does not guarantee every generated conversation.
Repeat requests now delegate transcript retrieval to the backend, including social replies spoken directly by the native voice. The voice repeats that complete response and its question once; retrieval does not repeat a billing lookup. This candidate addresses the September 30 runs that substituted an older billing answer or a new reaction for the caller's requested gardening reply. Warm anecdote backchannels remain enabled. Qualification must use fresh runs. The next candidate explicitly excludes short acknowledgments such as "Very nice" and joins adjacent caption fragments when retrieving that response.
Use this runbook to install and rehearse Claire, a Consumer Cellular voice assistant that confirms a sample AutoPay payment and welcomes caller-led small talk. The demo uses synthetic Salesforce-style records in local Vanguard.
Unavailable-data test callers ask about a next step once, then explicitly choose to try later and close. Their earlier persona insisted on obtaining unavailable payment information until the harness turn limit, without choosing an ending. The new case revision keeps every disclosure, honesty and caller-controlled termination assertion. Earlier failed runs remain archived. The voice prompt also avoids announcing a new lookup when only repeating an explanation and remembers when the caller declines representative help.
The September 30 repeated run found an omitted pending balance and two missed repeat requests. The backend now includes AutoPay state, pending amount and balance due in the initial pending answer. The shorter voice instructions preserve those facts and repeat the last substantive response, excluding intervening listening acknowledgments. This candidate requires a new qualification run; earlier failures are retained.
Installed assets¶
The initial installation in the TrueServe tenant creates voice draft 4451, Consumer Cellular — A little peace of mind, and published startup workflow 1851, Consumer Cellular — caller recognition. The workflow must be published for the draft's lifecycle hook to run. Vanguard now has voice release 1 and a separate draft. The latest conversation-guidance changes apply to the draft. No public phone number or CCaaS route is assigned.
Agent Studio classifies this demo with pipeline_type=speech_to_speech and
subtype=voice_agents on both the agent identity and its version rows.
The original installer used voice / conversation, which displayed a generic
Agent label and excluded it from the Voice filter. The installer now uses the
canonical constants, and listening-guidance updates preserve classification.
To repair an existing owned installation without replacing its prompts, tools
or published configuration, run:
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/repair-classification.ts
The repair backs up the rows, changes only classification metadata, verifies that runtime configs and publication state are preserved, and checks that the repository returns the demo as Voice Agent under the Voice filter.
The voice stage uses OpenAI GPT Live 1, Gleam, client delegation through OpenAI Responses and GPT-6 Luna with low reasoning effort. OpenAI's voice guide lists Gleam as natural, feminine and North American English. This is a match to the requested presentation, not a comparative voice-quality benchmark.
The backend explicitly selects the tenant OpenAI integration. That preserves
its configured Responses base URL (https://us.api.openai.com/v1 on Vanguard),
as well as its credentials. Selecting only inherited Live credentials caused
a regional-hostname rejection during rehearsal. Managed delegation also
reported an upstream Responses gateway timeout. No shared integration settings
or runtime code are changed.
This demo sets delegation_on_user_turn=false: the native voice handles
ordinary conversation and requests backend work for billing, corrections,
repetition and call control. During September 30 recording checks the saved
draft had automatic delegation enabled. Both the native voice and the backend
then answered thanks and anecdotes, producing duplicated reassurance and
reactions. The guidance updater now disables that option for this demo.
It preserves the saved backend result-reinforcement setting.
Rehearsals explicitly select 4451:draft. The resolver's allow_draft=true
permits draft access but a bare 4451 still selects its published release.
The first adaptive trials therefore exercised release 1, including its older
backchannel instructions and automatic delegation. They do not qualify the
new draft guidance. The harness now records the resolved draft version and
configuration hash before opening each session.
Two saved tools run generated, sandboxed sample functions:
| Tool | Purpose |
|---|---|
cc_salesforce_lookup_by_ani |
Find a unique fictional Contact and Account before the greeting. |
cc_salesforce_check_payment |
Read the sample September 2026 bill and AutoPay outcome. |
The synchronous lifecycle.on_start workflow maps incoming ani into the
lookup. Its declared cc_* outputs become startup merge fields. Only a
matched result enables a named greeting. Blank, unknown, ambiguous and
unavailable results have empty identity fields.
The payment action binds both ani and account_id from trusted session
context before tool validation or dispatch. The Account comes from the
startup workflow's cc_account_id; the model cannot supply or invent it.
The sample tool also validates that Account against the ANI. A mismatched
account returns no bill, and missing startup identity returns unavailable
without requesting an internal record ID from the caller. Lifecycle outputs
live in prompt metadata, so they are not used as variable-store gate inputs.
The voice instructions delegate
identity corrections and billing questions to the backend; a wrong-person
correction must stop disclosure of the matched sample account.
ANI recognition is not authentication for real customer billing. This
installation has no real Salesforce connection and collects no payments.
Connecting live records requires replacing the sample implementations,
removing config.mock, mapping the actual Salesforce billing schema, and
applying the tenant's supported identity and account-access gates. No client
identity policy or billing schema is invented here.
Install¶
From the repository root:
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/install.ts
The installer resolves the tenant's active OpenAI integration, executes all 17 fixture examples in code-executor, validates the generated config shapes, and saves only this demo's assets. It refuses to adopt unrelated same-name assets. An existing owned draft is backed up before replacement. Re-running publishes a new version of its lookup workflow and resets the draft's collaboration room.
Installation identity and verification evidence are stored in
.local-data/consumer-cellular-demo. Keep installed.json when reinstalling;
it records asset ownership. The default tenant is TrueServe.
CONSUMER_CELLULAR_TENANT_ID is available for a separate installation, but the
script refuses to switch tenants under an existing ownership record.
No service definitions, schemas or application routes change; derived API specifications do not need regeneration.
Update listening guidance¶
Claire's Backchannel policy asks for friendly, responsive listening:
brief, clearly audible reactions such as “Nice”, “Very nice”, “Oh, lovely”
and “That's sweet” in clear quiet gaps between phrases, without speaking across
the caller's words. Usually one acknowledgment
during a thought is enough; it must not grow into an observation or question
while the caller continues. Longer comments and questions wait for the whole
thought to finish. Coughs, apologies and pauses inside a story do not hand over
the turn. Claire yields when the caller resumes, including during an acknowledgment.
Billing-to-conversation transition gives the original request its own wrap-up:
confirm the bill, answer any clarification, acknowledge relief, then pause.
The caller introduces the personal subject. The voice, interruption,
transition and backend listening paragraphs are defined in definition.ts.
Apply these paragraphs to the owned draft with:
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/update-guidance.ts
This validates and backs up the existing draft, changes the conversation
guidance in the voice and backend prompts, disables automatic delegation of
every caller turn, checks the saved result, and
refreshes the collaboration room. Other draft configuration is preserved.
For an intentionally renamed installation, set CONSUMER_CELLULAR_EXPECTED_NAME
to its exact current name; Vanguard 4451 is now Consumer Cellular Support.
No workflow or tool is republished. Start a new Preview conversation to hear
the updated startup voice instructions.
Mock Caller settings are browser-local. Open the agent with
?mockCallerPacing=patient and open Preview to apply a 3-second reply wait and
append short-turn delivery guidance to the existing caller scenario. The preset
retains the selected voice, integration, call limit and recording edits, and
removes itself from the URL after saving. Later manual changes remain in effect.
It requests at most one brief cough when the scenario calls for coughing, with
a short apology and no long mid-sentence silence.
Rehearse¶
Open agent 4451 in Agent Studio, select its draft, and set ani in Preview's Template Variables before starting the call. Start a new conversation after changing ANI; identity is resolved at startup.
| ANI | Caller | Expected result |
|---|---|---|
+12025550147 |
Margaret Wilson | $42.50 received September 27, 2026; $0 due. |
+12025550148 |
Evelyn Parker | AutoPay enabled; payment pending, not confirmed received. |
+12025550149 |
Ruth Bennett | Caller recognized; billing source unavailable. |
+12025550150 |
No unique caller | Generic greeting; no billing disclosure. |
+12025550151 |
Lookup unavailable | Generic greeting; no billing disclosure. |
Blank or +12025550199 |
No match | Generic greeting; no invented name or account. |
All numbers and customer records are fictional. The amounts are fixture
values, not Consumer Cellular prices. Fixture dates are fixed in September
2026. The tools also accept documented national, formatted US and tel:
variants of the sample numbers.
Use the presenter guide for the bill-to-small-talk script. Judge success by accurate confirmation, specific listening, comfortable pauses, respect for interruptions, and a clean goodbye when the caller chooses to leave. Billing completion or a plain thank-you must not end an ongoing conversation. Idle checks wait 60 seconds and allow two retries; there is no small-talk turn quota.
Verification¶
Run the actual workflow and orchestrator preflight:
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/verify.ts check
Run a real GPT Live conversation using synthesized caller audio:
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/verify.ts paid-chat
Other rehearsal names are pending, unavailable, unknown,
wrong-person and scope. These call the real provider and use the real
orchestrator, lifecycle workflow and sample tool executor. They use no PSTN
route or real customer record. Every rehearsal and preflight pins the owned
agent's :draft reference rather than relying on draft permission alone.
The harness resamples caller audio to the
negotiated format and sends continuous silence between turns. It retains
timestamped messages, wire events, audio and failed attempts.
The harness checks session survival during the supplied conversation and termination after goodbye. Review the actual spoken messages for factual accuracy and conversational quality; a completed harness run alone does not grade those properties. These are scripted rehearsals, not saved Performance evaluation results.
Verified on September 29, 2026: 17 sample cases, 8 live lifecycle cases, and orchestrator preflight passed without errors or warnings. Targeted ESLint and TypeScript checks passed for the demo scripts.
The following real voice rehearsals completed and their durable transcripts and tool results were reviewed:
| Rehearsal | Observed outcome | Conversation |
|---|---|---|
paid-chat |
Named Margaret greeting; one successful bill lookup; exact $42.50 and September 27 confirmation; three exchanges about her granddaughter and tomatoes; native end-session only after goodbye. | 51bd457c-1232-42d9-bb4f-3bf18667e538 |
pending |
Named Evelyn greeting; pending sample result; receipt remained unconfirmed when the caller asked again; native end-session after goodbye. | e61c800e-c7ef-487c-8103-2e44d7d21274 |
scope |
Confirmed the bill, declined an appointment booking, then engaged with the caller's roses story; no booking action; native end-session after goodbye. | 0dbc56f9-e10f-425e-bfe9-f09a6fd626ca |
Exact delivery varies. The final paid rehearsal briefly referred back to billing during the story, but continued listening. An earlier rehearsal produced an extra apology during closing; this did not recur in the final paid or scope runs. Include the goodbye in a presenter mic check. Unavailable and unmatched outcomes have executor/lifecycle coverage; their spoken variants and the wrong-person correction remain optional rehearsals.
Recorded MP3¶
record-chat uses the tenant's ElevenLabs integration for the synthetic
caller and the saved GPT Live agent for every agent response. Carol
(5u41aNhyCU6hXOcjPPv0) was listed in ElevenLabs' public catalog as an older
American female voice on September 29, 2026. The caller uses eleven_v4;
Claire keeps GPT Live / Gleam. No voice cloning or shared voice settings
are involved.
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/verify.ts record-chat
python apps/ai-manager/scripts/consumer-cellular-demo/render-recording.py .local-data/consumer-cellular-demo/record-chat-<timestamp>.json
For a second example, add --name consumer-cellular-live-call-2 to the
renderer command. Every exported file uses that basename, preserving the
first MP3, source audio and edit manifest for comparison.
The recording command caches the five ElevenLabs caller clips, streams them
into a new real session, and captures both directions with packet timing.
Select the completed evidence filename printed by that command. The
renderer requires Python, NumPy, SciPy and FFmpeg. If FFmpeg is not installed,
the local fallback can be prepared with
python -m pip install --target .local-data/consumer-cellular-demo/python imageio-ffmpeg.
The renderer writes consumer-cellular-live-call.mp3 in
.local-data/consumer-cellular-demo/exports, plus a WAV, transcript, edit
manifest and untrimmed stereo source (Claire left, Margaret right).
It checks that the call completed and the payment tool returned the expected
received result. It trims only gaps where both tracks are quiet: gaps over
1.8 seconds are shortened to 0.9 seconds, with a short opening and closing
pad. Shorter pauses, speech, backchannels and overlaps are preserved.
Voice levels are matched and the MP3 is normalized to -18 LUFS at 192 kbps.
The MP3 is decoded again to check duration and clipping.
This is a recording of actual agent behavior with a synthesized caller and mock customer records. The trimmed MP3 is a presentation edit, not evidence of the service's original response latency. Raw audio, timestamps and every retained source interval remain available alongside it.
The September 29 export uses conversation
87048593-78d5-46e2-8919-30bf3764662e. It runs 1:45.74, trimmed from
2:07.22 by removing 21.48 seconds of silence. Six internal long gaps were
shortened. The MP3 decoded successfully without clipping; a transcription of
the exported audio confirmed both speakers, the amount and receipt date,
the gardening conversation and the goodbye. Failed recording attempts remain
separate and are not part of the export.
The second export, consumer-cellular-live-call-2.mp3, uses the updated
backchannel guidance in conversation
2e61e1c2-c8b9-40d5-835e-74c5ff903f69. It runs 1:36.14, trimmed from
1:54.89. The same cached Carol clips make the two examples comparable.
The live agent said “Oh, lovely” and “Nice” during the tomatoes anecdote,
“That's sweet” during the garden-candy story, and “Very nice” and
“Oh, wonderful” during the porch story. First reactions occurred 6.55,
3.81 and 3.28 seconds into those caller clips, before the caller finished.
Both the payment action and native end-session completed successfully.
The exported MP3 passed decoding, clipping and spoken-content checks, and
the first MP3's file hash remained unchanged.
Directed elderly caller¶
record-elderly adds ElevenLabs v4 performance cues to Carol's caller audio.
caller-performance.ts keeps the intended spoken text separate from the
tagged synthesis input. The direction is warm, friendly, gently textured
and unhurried, with two brief coughs and spoken apologies across the call,
plus a small chuckle in the happy anecdote. These are vocal events generated
within the caller clips, not added sound effects.
The request uses eleven_v4, Stability 0.45 and Similarity 0.8, with
inline audio tags such as [coughs softly], [apologetic] and [warmly].
V4 delivery uses tags and punctuation; no Speed setting or SSML is sent.
See ElevenLabs' v4 guide
and prompting guidance.
Tags are performance requests, so review the actual sound before presenting.
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/audition-caller.ts
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/review-audio.ts <audition.wav>
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/verify.ts record-elderly
python apps/ai-manager/scripts/consumer-cellular-demo/render-recording.py .local-data/consumer-cellular-demo/record-elderly-<timestamp>.json --name consumer-cellular-live-call-3
The audition saves a WAV and its synthesis directions under auditions.
The call reuses the exact cached first clip and generates the remaining
directed turns. Cache keys include the delivery profile, preserving the
plain caller clips used in earlier examples. The capture records the selected
performance and tagged inputs; the transcript displays the spoken text.
review-audio.ts sends the actual WAV or MP3 to an audio-capable model and
saves its qualitative review beside the file. It checks actual coughs,
apologies, warmth, pace, spoken direction tags and artifacts. This is an
automated audio assessment, separate from transcript verification or human
listening. A spoken “excuse me” alone does not establish that a cough
was generated.
The September 30 audition lasted 10.96 seconds. Its audio review detected
a brief cough before “Oh, excuse me,” a warm and unhurried delivery, and no
spoken direction tags or audible artifacts. The exported sample is
consumer-cellular-caller-audition-3.mp3.
The final directed call is conversation
e2623d1a-43d5-41eb-996c-63453fbec4de, exported as
consumer-cellular-live-call-3.mp3. It runs 1:29.17, trimmed from
1:56.39 by removing 27.22 seconds of silence. The payment lookup and
native end-session completed successfully. The exported-audio review detected
both brief coughs and apologies, a warm and unhurried caller performance,
and no spoken direction tags or audible artifacts. MP3 decoding and clipping
checks passed. The first two MP3s retain their original file hashes.
The harness now gives the caller a four-second listening pause after each clip finishes, in addition to waiting for agent audio to settle. A backchannel during the caller's story no longer satisfies the response check: a spoken response must arrive after caller playback ends. The earlier four-second delay alone still advanced on an in-story “Mm-hm”, causing the next caller line to collide with Claire's later full response. Playback now tracks the queued audio duration as well as packet arrival. This harness pause is included in raw evidence and shortened only during the presentation edit. Exported transcripts collect complete live captions, including fragmented greetings and farewells delivered during native session shutdown.
AI caller with streaming ElevenLabs v4¶
record-adaptive uses GPT-6 Luna as Margaret's caller AI. It receives only
the persona, Claire's actual spoken captions, its own previous replies and
private direction. It receives no expected bill amount, receipt date, fixture
outcome or tool result. Each utterance is generated during the call and answers
Claire's latest question. The caller reads live captions rather than analyzing
Claire's raw audio.
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/verify.ts record-adaptive
python apps/ai-manager/scripts/consumer-cellular-demo/render-recording.py .local-data/consumer-cellular-demo/record-adaptive-<timestamp>.json --name consumer-cellular-live-call-4
bash .devcontainer/scripts/with-env.sh apps/ai-manager/node_modules/.bin/tsx --tsconfig apps/ai-manager/tsconfig.json apps/ai-manager/scripts/consumer-cellular-demo/review-audio.ts .local-data/consumer-cellular-demo/exports/consumer-cellular-live-call-4.mp3 --conversation
streaming-caller.ts generates and validates one caller utterance from Responses,
then sends its words and vocal directions together to ElevenLabs'
/v1/text-to-speech/{voice_id}/stream endpoint with model_id=eleven_v4, Carol,
Stability 0.45 and Similarity 0.8. It receives PCM at the negotiated microphone rate and
queues complete 20 ms frames as audio arrives, with a 400 ms opening buffer.
The same continuous microphone clock sends silence while the caller thinks.
The voice provider's stream and all queued audio must complete before
the caller is considered finished. No complete caller recording is prepared
in advance or cached for this mode. Text is generated one utterance at a time;
audio is streamed before the complete audio response has arrived.
See ElevenLabs' streaming audio API. Initial dialogue-WebSocket trials accepted v4 but rejected some fragmented vocal-direction inputs as empty text. The HTTP audio stream keeps the entire utterance's cough and apology together while retaining live audio delivery. Provider failures remain failed runs; the harness does not substitute a different voice model.
Margaret has been worrying that AutoPay might not have gone through. She first
settles the billing question and gives a separate thank-you expressing relief.
After Claire acknowledges it, Margaret explains that now she can relax and
enjoy her granddaughter's visit instead of worrying about the bill. That
connection introduces the garden story. The caller uses a strict
JSON response schema. Only its validated text string is sent
to speech synthesis; private phase, story_complete and closing fields
never reach the voice or Claire. After at least two story turns and the
caller's story_complete signal, the harness privately cues a natural goodbye.
It also prints a per-call .director.txt path. Write a plain-language cue in
that file during the call to direct Margaret's next turn, for example:
Answer Claire's current question briefly, then explain that your granddaughter
is arriving and you need to go. Thank her for checking the bill and say goodbye.
The file is read before each caller turn. Its content goes only to the caller AI; Claire hears the resulting spoken reply. All cues are retained in local evidence. A call that reaches the 12-turn limit without a caller goodbye fails.
An in-story backchannel cannot release the next caller turn. The adaptive mode waits for speech after caller playback. Short replies such as “I'm listening” receive an extra quiet interval before the caller AI decides how to continue; they cannot deadlock the conversation just because they contain few words. If Claire continues while the caller is still generating its reply and before caller playback begins, that draft reply is discarded and regenerated from her updated words. Both voices and all overlaps remain on the original timeline; edits remove only shared silence afterward.
Evidence includes model usage, generated words and vocal directions, model-text
delta and audio chunk counts, first-text/first-audio/final timing, microphone lateness,
discarded replies and private cues. --conversation adds a separate audio
review of transition, responsiveness, overlapping full replies and closing,
instead of grading only the older caller's vocal performance.
The completed September 30 draft run is
e90c4a30-b2f6-4fdd-a177-c7319cd33bdd, with evidence
record-adaptive-2026-09-30T20-35-29-884Z.json. It explicitly resolved
4451:draft, with automatic delegation disabled. Its six caller utterances
all began playback before the ElevenLabs audio stream finished. Synthesis
used the negotiated 16 kHz microphone rate; each utterance's playback duration
matched its PCM duration within 20 ms. The microphone's maximum scheduling
lateness was 30.64 ms.
Margaret first expressed her AutoPay worry, thanked Claire for settling it,
then said she could relax and enjoy her granddaughter's visit. She answered
Claire's tomato and porch questions. A private performance cue requested the
cough/apology; a later story_complete cue produced the caller's goodbye.
One mock payment lookup and native end_session completed.
The export is consumer-cellular-live-call-4.mp3: 2:04.23, shortened from
3:02.61 by removing 58.38 seconds of shared silence and start/end padding.
Eight long internal gaps were shortened to 0.9 seconds. Decoding and clipping
checks passed. The automated review of the exported waveform found a clear
billing-to-story transition, relevant answers to Claire's questions, one
caller cough, a natural closing, and no problematic overlaps, clipped
responses, spoken directions or audible artifacts. It detected no separate
in-story backchannels in this take; Claire's full replies were warm and
specific. This is evidence for one recorded conversation, not a guarantee
for every live call. Earlier recordings and unsuccessful trials remain
available unchanged.
Synchronized video of the approved fourth example¶
exports/consumer-cellular-phone-thinking-4.mp4 uses the fourth MP3’s approved
voices and wording with the actual Preview phone and Thinking panels. It is a
visual replay, not a new model call. Caller captions are interpolated between
measured playback boundaries; agent text and mock payment/end events come from
the saved source conversation. No tool is executed during replay.
The original 124.23-second MP3 is re-encoded to AAC without speech edits. The
video includes a two-second ended view. Labels are Margaret, Claire and
Consumer Cellular; timestamps display minutes. Its .replay.json records the
source conversation, audio SHA-256, audio/video alignment, and voice distinction:
archived audio uses Gleam, while the live draft retains the chosen ElevenLabs
Claire voice. Audio correlation at the beginning, middle and farewell confirmed
no alignment drift or clipped ending.