From 95d92ce93d6f37a59cdff3ec9ea261c3f9cf5d9e Mon Sep 17 00:00:00 2001 From: JarbasAi Date: Sun, 24 May 2026 01:54:19 +0100 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20OVOS-INTENT-3=20v1.1=20=E2=80=94=20?= =?UTF-8?q?rename=20"host"=20to=20"orchestrator"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Editorial rename of the term throughout §6.1, §6.2, §7, §8. Conformance semantics are unchanged. Minor version bump (v1 → v1.1) since nothing in the contract broke; the rename is timeless. The renamed term names the function (coordinating intent matching and dispatch). Distinct from the messagebus (transport) and from individual engines. CHANGELOG, README, GLOSSARY updated to match. Co-Authored-By: Claude Opus 4.7 (1M context) --- CHANGELOG.md | 5 +++++ GLOSSARY.md | 2 +- README.md | 2 +- intent-definition.md | 16 ++++++++-------- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9625fa..af9afe9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,11 @@ tool does not recognize the token and cannot expand the template. ## OVOS-INTENT-3 — Intent Definition +### 1.1 + +- §6.1, §6.2, §7, §8 — terminology: **host → orchestrator**. + Editorial rename; conformance semantics are unchanged. + ### 1 - Initial draft. diff --git a/GLOSSARY.md b/GLOSSARY.md index 0d216d1..7fbdc49 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -31,7 +31,7 @@ open a PR adding it. | **Keyword intent / template intent** | The two definition methods — keyword constraints, or sentence templates ([INTENT-3 §2](intent-definition.md)). | | **Handler** | The code an intent triggers when its command is recognized ([INTENT-3 §1, §6](intent-definition.md)). | | **Intent engine** | A classifier + slot extractor: consumes definitions, identifies the triggered intent ([INTENT-3 §6.2](intent-definition.md)). | -| **Host** | The intent system that owns the engines and routes match results to handlers ([INTENT-3 §6.1](intent-definition.md)). | +| **Orchestrator** | The component that coordinates intent matching and dispatch — owns the engines / pipeline plugins and routes match results to handlers ([INTENT-3 §6.1](intent-definition.md)). Distinct from the messagebus (transport) and from individual engines / plugins. | | **Registration** | Submitting an intent's definition and handler together, as one unit ([INTENT-3 §6.1](intent-definition.md)). | | **Message** | The unit of communication on the bus: a JSON object with `type`, `data`, `context` ([MSG-1 §2](message-object.md)). | | **Context** | The assistant-metadata object on a Message; an extensible JSON object whose keys are defined by companion specs ([MSG-1 §2.3](message-object.md)). | diff --git a/README.md b/README.md index 74749e3..5a1eff1 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ below). Adoption is voluntary; conformance, once adopted, is not. |----|----------|---------|--------| | OVOS-INTENT-1 | [Sentence Template Grammar](sentence-template-grammar.md) | 2 | Draft | | OVOS-INTENT-2 | [Locale Resource Formats](locale-resource-formats.md) | 2 | Draft | -| OVOS-INTENT-3 | [Intent Definition](intent-definition.md) | 1 | Draft | +| OVOS-INTENT-3 | [Intent Definition](intent-definition.md) | 1.1 | Draft | | OVOS-MSG-1 | [Bus Message](message-object.md) | 1 | Draft | Each spec carries its own scope statement, design rationale, and diff --git a/intent-definition.md b/intent-definition.md index 1b0ce72..549ac36 100644 --- a/intent-definition.md +++ b/intent-definition.md @@ -1,6 +1,6 @@ # Intent Definition Specification -**Spec ID:** OVOS-INTENT-3 · **Version:** 1 · **Status:** Draft +**Spec ID:** OVOS-INTENT-3 · **Version:** 1.1 · **Status:** Draft This document defines what an **intent** is, the two methods a developer uses to define one, how an intent is registered, and the input contract an **intent @@ -320,21 +320,21 @@ A registration carries: - the **language** (§3); - the **definition** — keyword constraints (§4), or templates and any paired `.blacklist` (§5); -- a **reference to the handler** — whatever the host needs to invoke the +- a **reference to the handler** — whatever the orchestrator needs to invoke the handler later. Its concrete form (an in-process callback, a method, an address) is implementation-specific and **not** prescribed here. The definition is passed to an intent engine (§6.2). The handler reference is -retained by the **host** — the intent system that owns the engines — and is +retained by the **orchestrator** — the intent system that owns the engines — and is invoked with the match result (§7) when the engine reports a match. An engine -never invokes a handler directly; it reports matches, and the host routes. +never invokes a handler directly; it reports matches, and the orchestrator routes. Registering an intent whose `(skill id, intent name, language)` triple (§3) matches an existing registration **replaces** it: the previous definition and handler binding are discarded and wholly superseded by the new one. **Deregistration** ("detach") removes an intent: its definition is withdrawn -from the engine and its handler reference is released by the host. Definition +from the engine and its handler reference is released by the orchestrator. Definition and handler are removed **together**, as they were registered. When a skill is removed, all of its intents are deregistered. @@ -359,7 +359,7 @@ template, or both. The contract is: two methods. - An engine **MAY** accept both. - An engine **MUST reject** a registration whose method it does not accept, - rather than silently ignoring it, so the host can route the intent to an + rather than silently ignoring it, so the orchestrator can route the intent to an engine that does accept it. For a given utterance an engine reports **at most one** matched intent. An @@ -406,7 +406,7 @@ specification. In classifier terms the qualified intent name is the **label** and the capture map is the **payload**: the label selects which handler runs, the payload is -the data that handler is given. The host routes the result to the **one handler** bound to +the data that handler is given. The orchestrator routes the result to the **one handler** bound to that intent at registration, and to nothing else. The handler always receives the capture map — a set of key-value pairs, possibly empty — and that is the only data it receives from the intent layer. Running that handler is the whole @@ -457,7 +457,7 @@ requires is only that a handler not assume a complete capture map. - for template intents, honour the training-data contract of OVOS-INTENT-1 §6, and apply any paired `.blacklist` as match suppression (§5.4); - report at most one matched intent per utterance (§6.2); -- produce the match result of §7 and report it for the host to route to the +- produce the match result of §7 and report it for the orchestrator to route to the bound handler. Matching, generalization, scoring, and the ranking of competing intents are From d413ed3b9c743700c92ea0a09a99f86d61ccc503 Mon Sep 17 00:00:00 2001 From: JarbasAi Date: Sun, 24 May 2026 04:22:00 +0100 Subject: [PATCH 2/2] =?UTF-8?q?INTENT-3:=20keep=20at=20v1=20(host=E2=86=92?= =?UTF-8?q?orchestrator=20rename=20folded=20into=20v1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per draft-stage versioning policy: while a spec is in draft, v1 remains v1 if compatible with current OVOS; a version bump is only triggered by an incompatible feature. The host→orchestrator rename is editorial and drop-in compatible — fold into the v1 release rather than carrying a v1.1 line. Co-Authored-By: Claude Opus 4.7 (1M context) --- CHANGELOG.md | 5 ----- README.md | 2 +- intent-definition.md | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af9afe9..c9625fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,11 +44,6 @@ tool does not recognize the token and cannot expand the template. ## OVOS-INTENT-3 — Intent Definition -### 1.1 - -- §6.1, §6.2, §7, §8 — terminology: **host → orchestrator**. - Editorial rename; conformance semantics are unchanged. - ### 1 - Initial draft. diff --git a/README.md b/README.md index 5a1eff1..74749e3 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ below). Adoption is voluntary; conformance, once adopted, is not. |----|----------|---------|--------| | OVOS-INTENT-1 | [Sentence Template Grammar](sentence-template-grammar.md) | 2 | Draft | | OVOS-INTENT-2 | [Locale Resource Formats](locale-resource-formats.md) | 2 | Draft | -| OVOS-INTENT-3 | [Intent Definition](intent-definition.md) | 1.1 | Draft | +| OVOS-INTENT-3 | [Intent Definition](intent-definition.md) | 1 | Draft | | OVOS-MSG-1 | [Bus Message](message-object.md) | 1 | Draft | Each spec carries its own scope statement, design rationale, and diff --git a/intent-definition.md b/intent-definition.md index 549ac36..4ac59ad 100644 --- a/intent-definition.md +++ b/intent-definition.md @@ -1,6 +1,6 @@ # Intent Definition Specification -**Spec ID:** OVOS-INTENT-3 · **Version:** 1.1 · **Status:** Draft +**Spec ID:** OVOS-INTENT-3 · **Version:** 1 · **Status:** Draft This document defines what an **intent** is, the two methods a developer uses to define one, how an intent is registered, and the input contract an **intent