OpenVoiceOS / OpenVoiceOS/architecture

Spec proposal: OVOS-CONTEXT-1 — Intent Context (declarative gating primitive)

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

Nobody has claimed this yet.

documentation question
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) and excludes_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 from context.skill_id
  • Direct-mutation pathway: between match-accept and dispatch-emit

PR

PR #18

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.