Skip to content

Commit 54c6a0e

Browse files
JarbasAlclaude
andauthored
docs: drop the ovos- filename prefix; refresh the spec index (#55)
* chore: drop ovos- prefix from all spec filenames Standardize to <name>.md / <name>-<version>.md: ovos-intent-{1,2,3,4}.md → intent-{1,2,3,4}.md ovos-msg-1.md → msg-1.md ovos-pipeline-1.md → pipeline-1.md ovos-session-{1,2}.md → session-{1,2}.md ovos-stop-1.md → stop-1.md ovos-audio-in-1.md → audio-in.md README, APPENDIX, GLOSSARY, CHANGELOG, and appendix/ links updated. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: drop the ovos- filename prefix; refresh the spec index and versioning policy - Rename the ten on-dev spec files from ovos-<name>.md to <name>.md; the OVOS-<ID> spec identifiers are unchanged. README and GLOSSARY links updated. - README — rebuild the spec index: the Version column now carries the V0/V1/V2 compatibility class, list every spec with its unprefixed link, and group the I/O surfaces (audio-in, audio-out, gui) into their own stack. - Stamp the compatibility class into the headers of the on-dev specs that have no other open PR: MSG-1 = 1, STOP-1 = 2, AUDIO-IN-1 = 2. - README Contributing and the CHANGELOG preamble: the Version field is the compatibility class, not a per-revision counter; a normative PR adds a CHANGELOG entry and sets the class. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent b63b031 commit 54c6a0e

13 files changed

Lines changed: 61 additions & 45 deletions

CHANGELOG.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# Changelog
22

3-
Each entry records a versioned change to a specification in this repository.
4-
Each specification is versioned independently, starting at version 1. Every
5-
pull request that alters normative content bumps the affected spec's `Version`
6-
field and adds an entry here.
3+
Each entry records a change to a specification in this repository. Each
4+
specification carries a `Version` field equal to its V0/V1/V2 compatibility
5+
class (VERSIONING.md): `1` for a formalization compatible with the pre-spec
6+
status quo, `2` once it is not backwards compatible. Entries are grouped under
7+
the spec's current class. Every pull request that alters normative content adds
8+
an entry here.
79

810
## OVOS-INTENT-1 — Sentence Template Grammar
911

GLOSSARY.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,23 @@ open a PR adding it.
1616

1717
| Term | Meaning |
1818
|------|---------|
19-
| **Template** | A string in the OVOS-INTENT-1 grammar describing a set of sentences ([INTENT-1 §3](ovos-intent-1.md)). |
20-
| **Expansion** | Resolving `(a\|b)` / `[x]` into a finite set of concrete sentences ([INTENT-1 §4](ovos-intent-1.md)). |
21-
| **Sample / sample set** | A concrete sentence produced by expansion; the set of all of them for a template ([INTENT-1 §4](ovos-intent-1.md)). |
22-
| **Slot** | A named placeholder `{name}` filled with a value rather than written out ([INTENT-1 §3.4, §5](ovos-intent-1.md)). |
23-
| **Capture map** | The names→values mapping a match produces — slot names or vocabulary names as keys ([INTENT-3 §7](ovos-intent-3.md)). |
24-
| **Resource file / role** | A skill's plain-text files: `.intent`, `.dialog`, `.entity`, `.voc`, `.blacklist` ([INTENT-2 §1](ovos-intent-2.md)). |
25-
| **Vocabulary** | A named slot-free phrase set; the unit a keyword intent constrains over ([INTENT-3 §4.1](ovos-intent-3.md)). |
26-
| **Occurrence** | A phrase appearing in an utterance as a contiguous whole-word subsequence ([INTENT-2 §4.3](ovos-intent-2.md), [INTENT-3 §4.1](ovos-intent-3.md)). |
27-
| **Skill** | An app — a self-contained unit of assistant functionality ([INTENT-3 §1, §3](ovos-intent-3.md)). |
28-
| **Skill id** | A skill's identifier, unique across the assistant ([INTENT-3 §3](ovos-intent-3.md)). |
29-
| **Intent** | A developer-defined binding from a natural-language command to one handler ([INTENT-3 §1](ovos-intent-3.md)). |
30-
| **Intent name / qualified name** | The intent's name, unique within its skill / the `skill_id:intent_name` pair ([INTENT-3 §3](ovos-intent-3.md)). |
31-
| **Keyword intent / template intent** | The two definition methods — keyword constraints, or sentence templates ([INTENT-3 §2](ovos-intent-3.md)). |
32-
| **Handler** | The code an intent triggers when its command is recognized ([INTENT-3 §1, §6](ovos-intent-3.md)). |
33-
| **Intent engine** | A classifier + slot extractor: consumes definitions, identifies the triggered intent ([INTENT-3 §6.2](ovos-intent-3.md)). |
34-
| **Orchestrator** | The component that coordinates intent matching and dispatch — owns the engines / pipeline plugins and routes match results to handlers ([INTENT-3 §6.1](ovos-intent-3.md)). Distinct from the messagebus (transport) and from individual engines / plugins. |
35-
| **Registration** | Submitting an intent's definition and handler together, as one unit ([INTENT-3 §6.1](ovos-intent-3.md)). |
36-
| **Message** | The unit of communication on the bus: a JSON object with `type`, `data`, `context` ([MSG-1 §2](ovos-msg-1.md)). |
37-
| **Context** | The assistant-metadata object on a Message; an extensible JSON object whose keys are defined by companion specs ([MSG-1 §2.3](ovos-msg-1.md)). |
38-
| **Session** | The per-conversation carrier in `context.session`; carries `session_id` (with `"default"` reserved for "originates from the device itself") and `lang` (the user's preferred language, distinct from any `data.lang` describing the payload's own language) ([MSG-1 §4](ovos-msg-1.md)). |
19+
| **Template** | A string in the OVOS-INTENT-1 grammar describing a set of sentences ([INTENT-1 §3](intent-1.md)). |
20+
| **Expansion** | Resolving `(a\|b)` / `[x]` into a finite set of concrete sentences ([INTENT-1 §4](intent-1.md)). |
21+
| **Sample / sample set** | A concrete sentence produced by expansion; the set of all of them for a template ([INTENT-1 §4](intent-1.md)). |
22+
| **Slot** | A named placeholder `{name}` filled with a value rather than written out ([INTENT-1 §3.4, §5](intent-1.md)). |
23+
| **Capture map** | The names→values mapping a match produces — slot names or vocabulary names as keys ([INTENT-3 §7](intent-3.md)). |
24+
| **Resource file / role** | A skill's plain-text files: `.intent`, `.dialog`, `.entity`, `.voc`, `.blacklist` ([INTENT-2 §1](intent-2.md)). |
25+
| **Vocabulary** | A named slot-free phrase set; the unit a keyword intent constrains over ([INTENT-3 §4.1](intent-3.md)). |
26+
| **Occurrence** | A phrase appearing in an utterance as a contiguous whole-word subsequence ([INTENT-2 §4.3](intent-2.md), [INTENT-3 §4.1](intent-3.md)). |
27+
| **Skill** | An app — a self-contained unit of assistant functionality ([INTENT-3 §1, §3](intent-3.md)). |
28+
| **Skill id** | A skill's identifier, unique across the assistant ([INTENT-3 §3](intent-3.md)). |
29+
| **Intent** | A developer-defined binding from a natural-language command to one handler ([INTENT-3 §1](intent-3.md)). |
30+
| **Intent name / qualified name** | The intent's name, unique within its skill / the `skill_id:intent_name` pair ([INTENT-3 §3](intent-3.md)). |
31+
| **Keyword intent / template intent** | The two definition methods — keyword constraints, or sentence templates ([INTENT-3 §2](intent-3.md)). |
32+
| **Handler** | The code an intent triggers when its command is recognized ([INTENT-3 §1, §6](intent-3.md)). |
33+
| **Intent engine** | A classifier + slot extractor: consumes definitions, identifies the triggered intent ([INTENT-3 §6.2](intent-3.md)). |
34+
| **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-3.md)). Distinct from the messagebus (transport) and from individual engines / plugins. |
35+
| **Registration** | Submitting an intent's definition and handler together, as one unit ([INTENT-3 §6.1](intent-3.md)). |
36+
| **Message** | The unit of communication on the bus: a JSON object with `type`, `data`, `context` ([MSG-1 §2](msg-1.md)). |
37+
| **Context** | The assistant-metadata object on a Message; an extensible JSON object whose keys are defined by companion specs ([MSG-1 §2.3](msg-1.md)). |
38+
| **Session** | The per-conversation carrier in `context.session`; carries `session_id` (with `"default"` reserved for "originates from the device itself") and `lang` (the user's preferred language, distinct from any `data.lang` describing the payload's own language) ([MSG-1 §4](msg-1.md)). |

README.md

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -87,33 +87,48 @@ below). Adoption is voluntary; conformance, once adopted, is not.
8787

8888
## Specifications
8989

90+
The **Version** column carries the V0/V1/V2 compatibility class
91+
([VERSIONING.md](VERSIONING.md)): `1` for a formalization compatible with the
92+
pre-spec status quo, `2` for one that is not backwards compatible.
93+
9094
### Intent stack — what a skill defines
9195

9296
| ID | Document | Version | Status |
9397
|----|----------|---------|--------|
94-
| OVOS-INTENT-1 | [Sentence Template Grammar](ovos-intent-1.md) | 2 | Draft |
95-
| OVOS-INTENT-2 | [Locale Resource Formats](ovos-intent-2.md) | 2 | Draft · [v3 in review (PR #4)](https://github.com/OpenVoiceOS/architecture/pull/4) |
96-
| OVOS-INTENT-3 | [Intent Definition](ovos-intent-3.md) | 1 | Draft |
97-
| OVOS-INTENT-4 | [Intent and Entity Registration](ovos-intent-4.md) | 2 | [Draft — in review (PR #9)](https://github.com/OpenVoiceOS/architecture/pull/9) |
98+
| OVOS-INTENT-1 | [Sentence Template Grammar](intent-1.md) | 1 | Draft |
99+
| OVOS-INTENT-2 | [Locale Resource Formats](intent-2.md) | 1 | Draft |
100+
| OVOS-INTENT-3 | [Intent Definition](intent-3.md) | 1 | Draft |
101+
| OVOS-INTENT-4 | [Intent and Entity Registration](intent-4.md) | 2 | Draft |
98102

99103
### Bus stack — how components talk
100104

101105
| ID | Document | Version | Status |
102106
|----|----------|---------|--------|
103-
| OVOS-MSG-1 | [Bus Message](ovos-msg-1.md) | 2 | Draft |
104-
| OVOS-SESSION-1 | [Session Carrier Wire Shape](ovos-session-1.md) | 1 | Draft |
105-
| OVOS-SESSION-2 | [Session Lifecycle and State Ownership](ovos-session-2.md) | 1 | Draft |
107+
| OVOS-MSG-1 | [Bus Message](msg-1.md) | 1 | Draft |
108+
| OVOS-SESSION-1 | [Session Carrier Wire Shape](session-1.md) | 1 | Draft |
109+
| OVOS-SESSION-2 | [Session Lifecycle and State Ownership](session-2.md) | 1 | Draft |
110+
| OVOS-BRIDGE-1 | [Bus Bridge and Opaque Relay](bridge-1.md) | 2 | Draft |
106111

107112
### Orchestrator stack — what processes utterances
108113

109114
| ID | Document | Version | Status |
110115
|----|----------|---------|--------|
111-
| OVOS-PIPELINE-1 | [Utterance Lifecycle and Pipeline](ovos-pipeline-1.md) | 2 | Draft |
112-
| OVOS-TRANSFORM-1 | [Transformer Plugins](transformer.md) | 1 | [Draft — in review (PR #20)](https://github.com/OpenVoiceOS/architecture/pull/20) |
113-
| OVOS-CONTEXT-1 | [Intent Context](intent-context.md) | 1 | [Draft — in review (PR #18)](https://github.com/OpenVoiceOS/architecture/pull/18) |
114-
| OVOS-CONVERSE-1 | [Active Handlers and Interactive Response](converse.md) | 1 | [Draft — in review (PR #25)](https://github.com/OpenVoiceOS/architecture/pull/25) |
115-
| OVOS-STOP-1 | [Stop Pipeline Plugin](ovos-stop-1.md) | 1 | [Draft — in review (PR #33)](https://github.com/OpenVoiceOS/architecture/pull/33) |
116-
| OVOS-AUDIO-IN-1 | [Audio Input Service](ovos-audio-in-1.md) | 1 | Draft |
116+
| OVOS-PIPELINE-1 | [Utterance Lifecycle and Pipeline](pipeline-1.md) | 2 | Draft |
117+
| OVOS-TRANSFORM-1 | [Transformer Plugins](transformer.md) | 1 | Draft |
118+
| OVOS-CONTEXT-1 | [Intent Context](intent-context.md) | 2 | Draft |
119+
| OVOS-CONVERSE-1 | [Active Handlers and Interactive Response](converse.md) | 2 | Draft |
120+
| OVOS-STOP-1 | [Stop Pipeline Plugin](stop-1.md) | 2 | Draft |
121+
| OVOS-PERSONA-1 | [Persona Pipeline Plugin](persona.md) | 2 | Draft |
122+
| OVOS-FALLBACK-1 | [Fallback Pipeline Plugin](fallback.md) | 2 | Draft |
123+
| OVOS-COMMON-QUERY-1 | [Common Query Pipeline Plugin](common-query.md) | 2 | Draft |
124+
125+
### I/O stack — input and output surfaces
126+
127+
| ID | Document | Version | Status |
128+
|----|----------|---------|--------|
129+
| OVOS-AUDIO-IN-1 | [Audio Input Service](audio-in.md) | 2 | Draft |
130+
| OVOS-AUDIO-1 | [Audio Output Service](audio-out.md) | 2 | Draft |
131+
| OVOS-GUI-1 | [GUI Display Subsystem](gui-1.md) | 1 | Draft |
117132

118133
Each spec carries its own scope statement, design rationale, and
119134
conformance section in its header. Open the document for the full
@@ -157,12 +172,11 @@ request, never committed directly.
157172

158173
Each PR that alters normative content **MUST**:
159174

160-
- bump the spec's `Version` field in its header;
161-
- add a corresponding entry to [CHANGELOG.md](CHANGELOG.md).
162-
163-
A version identifies an exact, citable state of a document, so
164-
implementations and conformance results can name the version they
165-
target.
175+
- add a corresponding entry to [CHANGELOG.md](CHANGELOG.md);
176+
- set the spec's `Version` field to its V0/V1/V2 compatibility class
177+
(`1` for a backwards-compatible formalization, `2` once any change makes
178+
the spec incompatible with the pre-spec status quo). The field is the
179+
compatibility class, not a per-revision counter (VERSIONING.md).
166180

167181
PRs that touch only the non-normative material —
168182
[APPENDIX.md](APPENDIX.md) and [appendix/](appendix/) files,

ovos-audio-in-1.md renamed to audio-in.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Audio Input Service Specification
22

3-
**Spec ID:** OVOS-AUDIO-IN-1 · **Version:** 1 · **Status:** Draft
3+
**Spec ID:** OVOS-AUDIO-IN-1 · **Version:** 2 · **Status:** Draft
44

55
This specification defines the **audio input service** — the component
66
that acquires audio, runs the pre-STT transformer chain, transcribes
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)