Skip to content

spec: instant sounds are session-scoped; listener sleep is acknowledged and queryable - #230

Draft
JarbasAl wants to merge 2 commits into
devfrom
spec/audio-scoped-instant-sounds-acked-sleep
Draft

spec: instant sounds are session-scoped; listener sleep is acknowledged and queryable#230
JarbasAl wants to merge 2 commits into
devfrom
spec/audio-scoped-instant-sounds-acked-sleep

Conversation

@JarbasAl

@JarbasAl JarbasAl commented Sep 7, 2026

Copy link
Copy Markdown
Member

🤖 Auto-generated by Claude Fable 5.1 (claude-fable-5-1) via Claude Code — NOT human-reviewed. Verify before acting. Clauses read from origin/dev; shipped-code claims come from the backcompat lane's read of ovos-dinkum-listener and ovos-audio at their dev heads.

AUDIO-IN-1 §6.3 (dev): "Sleep entry is unacknowledged by design: no confirmation Message is emitted on entering sleep." and "No topic in this specification lets a component query current listener state [...]. This is a deliberate omission".

AUDIO-1 §4.1 (dev): "The audio output service MUST only enqueue items whose context.session.session_id matches a session it is configured to serve locally."

Listener sleep. A controller that puts the listener to sleep gets no confirmation it took effect and has no way to ask. The audio input service now replies to ovos.listener.sleep on ovos.listener.sleep.response once sleep mode is entered, and answers ovos.listener.sleep.query on ovos.listener.sleep.query.response with {asleep: bool}, both through the response derivation (OVOS-MSG-1 §5.3). Sleep stays device-wide. Shipped ovos-dinkum-listener emits nothing on sleep and publishes no sleep state, so both are new surface.

Instant sounds. ovos.audio.play_sound gains the §4.1 session scope every other output request carries: the service plays an instant sound only for a session it is configured to serve locally. Instant sounds stay not stoppable, as §4.2 already says: they are short acknowledgement or error cues, and anything longer belongs on the scheduled queue, where it takes its turn with speech and is stoppable there. The §4.2 text now says why.

Stacked on #253 (the same file's §6.4 wake request); merges after it.

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

#164)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@JarbasAl
JarbasAl force-pushed the spec/audio-scoped-instant-sounds-acked-sleep branch from a7c9742 to 3883e4e Compare September 8, 2026 18:15
@JarbasAl
JarbasAl force-pushed the spec/audio-scoped-instant-sounds-acked-sleep branch from 3883e4e to 4df7848 Compare September 8, 2026 19:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant