OpenVoiceOS / OpenVoiceOS/architecture

Spec proposal: OVOS-PERSONA-1 — Persona Pipeline Plugin

Open
#50 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
3
Forks
0
Avg merge
15h 20m
Merged PRs (30d)
90

Description

Proposal for OVOS-PERSONA-1, the persona pipeline plugin specification.

Problem

Personas — complete conversational agents that replace the deterministic pipeline when active — have no normative contract. Summon/dismiss mechanics, the persona_id session field, pipeline positioning, multi-persona coexistence, and the out-of-band query interface are all implementation-defined.

Proposal

Defines the full persona plugin contract:

  • persona_id session field — identifies the active persona for a session; absent = no-persona mode (deterministic pipeline only)
  • Summon/dismiss — self-summon via Match.updated_session during match; external summon via session field; dismiss via explicit session mutation
  • Match contract — two-phase: embedded persona command detection (always active) then utterance claim when persona is active
  • Handler contract — standard PIPELINE-1 dispatch; multi-turn via CONVERSE-1; session.fallback_pipeline_id for per-persona fallback chains
  • Out-of-band queryovos.persona.query / ovos.persona.answer for direct text-in/text-out queries bypassing the pipeline
  • Multiple persona coexistence — each plugin instance declares supported persona_ids; at most one persona active per session at a time
  • Pipeline positioning — after deterministic intents and converse, before fallback

PR

PR #37

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the proposal and PR #37, then use the listed contract areas as a checklist: session fields, summon/dismiss, matching, handlers, queries, coexistence, and pipeline positioning. Done means the persona plugin specification is resolved and its complete contract is represented in the architecture project.

Written by the indexing model from the issue text.

Assessment

Domain
backend-api-design, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.