Skip to content

Spec proposal: OVOS-INTENT-4 — Intent and Entity Registration Bus Contract #10

@JarbasAl

Description

@JarbasAl

Tracking issue for PR #9 — OVOS-INTENT-4: Intent and Entity Registration Bus Contract

A skill today declares its intents over a tangle of legacy bus topics with no single spec. OVOS-INTENT-4 defines a small fixed set of ovos.intent.* / ovos.entity.* / ovos.skill.* topics covering registration, deregistration, enable / disable, and introspection, under an orchestrator-mediated model.

Architectural model

  • The orchestrator is the sole bus consumer of skill-originated registration topics and delegates to engines through an orchestrator-internal interface. Engines do not subscribe to the bus topics defined here.
  • Atomic registration — keyword intents register in a single message with {required, optional, one_of, excluded} arrays of vocabulary descriptors. No racy multi-message sequences.
  • Structured identity(skill_id, intent_name, lang) triple, not munged strings.
  • Skill self-identification on every emissionMessage.context["skill_id"] is the emitter, distinct from any data.skill_id (a subject or filter). The orchestrator enforces presence structurally via dispatch-topic stamping and forward/reply inheritance.
  • Orchestrator-owned manifestovos.intent.list / .describe are answered by the orchestrator; skills carry no introspection obligation.
  • No central correlation — producers MUST NOT block waiting on a .response.
  • Structured error_code enum on registration .response.

Out of scope

  • Dispatch, match-result notification, the handler-lifecycle trio, and utterance-layer end-markers — defined in OVOS-PIPELINE-1.
  • Engine-internal matching semantics.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationquestionFurther information is requested

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions