OpenVoiceOS / OpenVoiceOS/architecture
Spec proposal: OVOS-PERSONA-1 — Persona Pipeline Plugin
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_idsession field — identifies the active persona for a session; absent = no-persona mode (deterministic pipeline only)- Summon/dismiss — self-summon via
Match.updated_sessionduring 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_idfor per-persona fallback chains - Out-of-band query —
ovos.persona.query/ovos.persona.answerfor 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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