OpenVoiceOS / OpenVoiceOS/architecture
Spec proposal: OVOS-CONTEXT-1 — Intent Context (declarative gating primitive)
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-CONTEXT-1, the intent context specification.
Problem
Adapt's per-frame context manager provides declarative intent gating and slot pre-population, but it is engine-specific. OVOS needs an engine-agnostic version carried in the session.
Proposal
session.intent_context — a session-scoped flat map with entries {value, expires_at, turns_remaining}:
- Key-encoded scope: bare key = shared;
<skill_id>:<key>= private - Two-phase decay: pre-match prune (drop expired), post-match decrement of
turns_remaining - Gates:
requires_context(positive) andexcludes_context(negative) on intents - Context-supplied captures: a gate key naming an intent slot is filled from the live entry when the utterance does not supply one
- Bus surface:
ovos.context.set/.unset/.clear/.list; orchestrator computes stored key fromcontext.skill_id - Direct-mutation pathway: between match-accept and dispatch-emit
PR
PR #18
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
Review PR #18 first, then compare it with the proposal's session map, decay rules, gates, context-supplied captures, bus operations, and direct-mutation pathway. Done means the specification resolves these requirements in an accepted, engine-agnostic form; no files or tests are named in the issue.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100