Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 19 additions & 7 deletions session-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -411,8 +411,8 @@ does not define an ordering, and no client may assume one.

It is instead **RECOMMENDED** that a client adopt at the
universal end-marker `ovos.utterance.handled` (PIPELINE-1 §9.5),
which is emitted exactly once per utterance (§3.3) and so needs
no ordering to be unambiguous.
which is emitted exactly once per lifecycle (§3.3) and so needs
no ordering within that lifecycle to be unambiguous.

**Adopt from what you render.** Independently of that
convergence point, a client **adopts the session of any
Expand Down Expand Up @@ -442,11 +442,23 @@ the round.

### 3.3 `ovos.utterance.handled` is the canonical convergence point

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. A client may also adopt incrementally per
When a client wants a "round is over" snapshot, the universal
end-marker `ovos.utterance.handled` (PIPELINE-1 §9.5) is the
recommended adoption point: emitted once per lifecycle, and a
round that opens a nested lifecycle (PIPELINE-1 §6.5) produces
one for each — an inner marker for the nested lifecycle and an
outer marker for the round that opened it, both correlated by
the shared `session_id` and neither carrying any further field
that ranks one above the other.

A client **MUST** converge on every `ovos.utterance.handled` it
receives for its session, in the order it receives them: each
marker's session supersedes whatever the client held before,
whether that was an incremental adoption (§3.1) or an earlier
`ovos.utterance.handled` for the same session. A client that
adopts incrementally **SHOULD** also adopt at every such marker,
which supersedes whatever the incremental policy accumulated
since the previous one. A client may also adopt incrementally per
§3.1, or combine both; all are conformant.

---
Expand Down