Skip to content
Open
Show file tree
Hide file tree
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
61 changes: 53 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,59 @@ an entry here.
clients dismiss by removing the field from the state they carry.
- §3 — `persona_id` character-set constraint relaxed to a RECOMMENDED
ASCII letters/digits/`_`/`-` convention.
- Initial draft. Defines persona as a scoped match+handler layer with
its own pipeline position, `persona_id` session field, summon and
dismiss bus messages, match contract (MAY return `None` for pass-
through), handler contract, no-persona mode, multiple-persona
coexistence rules, `fallback_pipeline_id` for escalation, dialog-
transformer compatibility, capability-discovery via
`ovos.persona.capabilities`, and conformance roles (Persona Plugin,
Orchestrator, Skill).
- Consistency audit. §7.2 becomes the single normative statement of
the claim rule; §3, §4 and §12 restate it by citation. The route-2
return-`None` obligation is scoped to invocation under the main
`pipeline_id`, with a parallel obligation stated for
`fallback_pipeline_id` invocation (route 3), resolving the conflict
with route 3's claim; the §7.2 prohibition on intent-matching is
likewise scoped to route 2, which route 1's ordinary intents
otherwise contradicted. §8.1 — a claimed dispatch MUST produce at
least one `ovos.utterance.speak`, including a degraded or error
utterance on backend failure or generation timeout, since a persona
claim is exclusive and an empty dispatch is a silent turn; the
handler-lifecycle trio stays orchestrator-owned and a failing
handler SHOULD propagate so `ovos.intent.handler.error` is emitted.
§8.3 rewritten against the real converse mechanism:
`session.converse_handlers` (CONVERSE-1 §2.1) stamped at dispatch
(CONVERSE-1 §3.1), with the persona's `pipeline_id` entering it as
an ordinary eligible owner by PIPELINE-1 §7.0 self-matching. §8.5 —
the out-of-band interface MUST reply on every failure mode, its
time budget is deployment-defined, and callers MUST tolerate one
reply per loaded plugin, correlating by `persona_id`; whether an
out-of-band exchange enters §8.4 history is plugin-defined and MUST
be documented. §9 — register/deregister payload and semantics
defined (duplicate register is a no-op; a deregistered identity
keeps serving live sessions until dismissed but accepts no new
summons; no response topic, so rejection is observable only via
`ovos.persona.list`). §10 — common query added to the ordering
(persona stages SHOULD follow it, per COMMON-QUERY-1 §12), the
MAY-place-earlier licence narrowed to domain-specialised
non-general personas, and the ordering example restored to keep
`fallback_low` as the final stage, after `persona_fallback` — persona
stages are OPTIONAL, and the every-utterance guarantee stays with
OVOS-FALLBACK-1 §8.1's catch-all in `fallback_low`, not with route
3, which may only shadow it in normal operation. §11 — activation
events scoped to plugin-observed
transitions only; external summon/dismiss emit nothing. §5 and §9
demote unenforceable obligations (unknown-persona summon, collision
WARN) to notes, there being no registry or orchestrator role to
enforce them. §6 — the stop-plugin `persona_id` clear restated as
deployment guidance, naming STOP-1 §6.2 as the normative home.
Builds-on list corrected to eight specifications.

### 1

- Initial draft. Defines a persona as a complete conversational agent
hosted by a pipeline plugin, the `persona_id` session field (§3),
no-persona mode (§4), summon and dismiss (§5, §6), the three-route
match contract (§7) — embedded persona commands, the
active-persona catch-all, and the optional persona-fallback stage —
the handler contract with conversation history, out-of-band query
(`ovos.persona.query` / `.answer`), persona discovery
(`ovos.persona.list`) and stop awareness (§8), multiple-persona
coexistence and runtime registration (§9), pipeline positioning
(§10), the bus surface (§11), and conformance (§12).
## OVOS-CONTEXT-1 — Intent Context

### 2
Expand Down
Loading