Skip to content

spec: SESSION-2 §3.3 converges on each handled marker of a session - #238

Draft
JarbasAl wants to merge 1 commit into
devfrom
spec/session-2-3.3-converge-on-each-handled
Draft

spec: SESSION-2 §3.3 converges on each handled marker of a session#238
JarbasAl wants to merge 1 commit into
devfrom
spec/session-2-3.3-converge-on-each-handled

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.

When a client wants a single canonical "round is over" snapshot,
the universal end-marker ovos.utterance.handled (PIPELINE-1
§9.5) is the recommended adoption point: emitted exactly once per
utterance on every terminal path, carrying the assistant's final
session for the round.

§3.3 says clients adopt the session at ovos.utterance.handled, "emitted exactly once per utterance" — a claim that made adoption unambiguous because there was only ever one marker to adopt. PIPELINE-1 §6.5 describes a long-running handler that blocks on a follow-up question: the reply runs as a nested, independent ovos.utterance.handle/ovos.utterance.handled lifecycle that shares the outer round's session_id, and the outer lifecycle's own ovos.utterance.handled fires only after the handler returns. §6.5 states plainly that "no additional correlation field is defined by this specification" beyond the shared session_id — so an inner and an outer marker for the same round are session-siblings with nothing that ranks one above the other.

The new text keeps the per-lifecycle invariant (ovos.utterance.handled still fires exactly once for the ovos.utterance.handle that opened that lifecycle) but drops the false claim that this is exactly once per session, since a nested lifecycle produces a second marker for the same session. The convergence rule becomes: a client converges on every ovos.utterance.handled it receives for its session, in the order it receives them, each one superseding whatever the client held before — a speak-driven incremental adoption or an earlier marker for the same session.

@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.

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