ENGINEERING NOTE · SEPTEMBER 26, 2026
What should Stop mean for a voice agent?
A voice endpoint should not say “cancelled” merely because it stopped speaking. Stopping local audio, withdrawing a pending host job and undoing an action the agent already took are three different operations. A useful Stop control reports which one actually happened—and admits when the outcome is unknown.
The three boundaries of a stopped turn
1. Device playback: stopping the speaker can be immediate, but it does not necessarily stop the host. The user should hear or see “playback stopped,” not “request undone.” If the device lost Wi-Fi before sending its stop request, the host may still have work in flight. A WebSocket closing handshake is transport housekeeping, not a domain-specific cancellation receipt; the WebSocket protocol specification does not supply a voice-agent job state machine.
2. Host work: address a cancel request to an exact job identifier, and wait for the host's response before removing it from the visible queue. “Withdrawn” means the host accepted a withdrawal under its own rules. “Could not withdraw” means the item may still be active. A robust future reconnect flow should reconcile against an authoritative host job list instead of interpreting a missing reply as success; this is a design requirement, not a verified Clarilot device behavior.
3. Outside-world effects: a job may already have sent a message, changed a file or triggered another tool. Even an accepted withdrawal of a result is not evidence that those side effects were reversed. A sensitive action needs its own authorization, status and, if supported, a separate compensating action. Avoid a blanket “undo” promise.
A race worth testing
Imagine a future Stop interaction after the user selects the wrong agent, while Wi-Fi drops. The host might receive the cancel request, return a confirmation that never reaches the device, or finish the job before the request arrives. A safe design distinguishes “requesting stop,” “withdrawal confirmed,” “not withdrawn” and “connection lost; checking status.” A retry should refer to the same job, not submit a second agent action. Preventing an answer already in preparation from being spoken after confirmed withdrawal is a race to test, not a guarantee from the current prototype.
The screen or companion UI should expose that state in words, not only color or a tone. For web surfaces, the W3C's guidance on status messages explains how progress, success and errors can be made available to assistive technology without moving focus. An audio-only endpoint needs separately tested equivalent feedback; this web guidance is not evidence that Clarilot's physical speaker or accessibility UX works.
What Clarilot has tested—and what remains a design question
Clarilot's host software has a job-specific cancel path and tests for accepted, refused and late-result cases; cancellation concurrent with speech synthesis and durable reconnect reconciliation are not yet validated. Its gateway also distinguishes a playback report from merely transmitting reply audio. The firmware has compiled, and its source includes a side-button hold for a selected pending job, not a general stop-current-playback control. These software checks do not validate button feel, microphone pickup, speaker audibility, Wi-Fi dropout behavior or battery performance on the intended physical device. Nor do they prove that cancel reverses an already executed external action. The public Clarilot site is a preview and email waitlist, not a public device gateway.
A small review checklist
- For a cancel request in each stage—capturing, host-queued, agent-running and reply-ready—record the returned job ID, status and whether an outside action occurred.
- Drop the connection before and after the host's confirmation; reconnect and verify that the waiting list matches the host without duplicate submission or stale playback.
- Try a denied cancel and a late playback report; neither should be displayed as a confirmed undo or a heard answer.
- On the intended device, check that Stop feedback is perceptible under background noise and low battery; publish measurements only after a physical test.
Want updates as the device tests proceed? Join the Clarilot email waitlist. Joining is not a device reservation, purchase or beta-access guarantee.