Skip to content

Agent follow-up turns can complete without a visible or spoken done cue #23

Description

@dpraid

Problem

Agent Mode follow-up turns can finish and write the final answer into the agent transcript without giving the user a clear completion cue. In a voice-first flow, this makes it feel like OpenClicky silently stopped responding.

Example from logs

During the App Store Connect W-9 check on 2026-06-12:

  • 22:22:02Z: User asked Did I fill this form out correctly as just an individual person?
  • 22:22:02Z: OpenClicky logged openclicky.request.completed for route=agent.followup, status=success, source=agent_overlay_open.
  • 22:22:29Z: The agent produced the final answer: Yes — for an individual person, this W-9 looks generally filled out correctly...
  • 22:22:29Z: OpenClicky logged openclicky.agent_completion.speech_budget events for that answer.
  • No matching OpenClicky task done desktop notification appears for that W-9 follow-up turn in the surrounding log window.
  • The user then asked why OpenClicky did not talk or at least say it was done.

Actual behavior

The final answer is present in the agent transcript, but the user gets no obvious spoken or visual completion cue for the follow-up turn.

Expected behavior

When an Agent Mode follow-up turn completes, OpenClicky should provide at least one reliable completion cue:

  • a desktop/HUD OpenClicky task done notification, or
  • a short spoken task-finished summary when voice mode initiated or steered the task, or
  • an explicit HUD state transition from running to done.

Suggested fix

  • Treat agent follow-up completion as a first-class lifecycle event, not only initial agent.start completion.
  • If openclicky.agent_completion.speech_budget is generated for a final answer, ensure the corresponding done cue/notification path is triggered.
  • Avoid marking the queue/submission success at 22:22:02Z as the actual task completion; the user-visible completion should occur when the final assistant message lands at 22:22:29Z.
  • Add a regression test for agent.followup turns that produce a final answer and verify a done notification or spoken summary is emitted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions