Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
d5c26bc
feat: OVOS-INTENT-2 resource loader and dialog renderer
JarbasAl May 22, 2026
4b5d956
refactor: rename package to ovos-spec-tools
JarbasAl May 22, 2026
277fb63
feat: add ovos-spec-lint locale resource linter
JarbasAl May 22, 2026
0859cdc
docs: add examples/ with a linter walkthrough
JarbasAl May 22, 2026
c99f7be
feat: add DialogRenderer, a stateful object-oriented dialog renderer
JarbasAl May 22, 2026
bb1da4c
feat: DialogRenderer default slots and .entity fallback; type rng as …
JarbasAl May 22, 2026
74d41ba
docs: add runnable example scripts to examples/
JarbasAl May 22, 2026
da64e9c
feat: smart language fallback in LocaleResources; langcodes now optional
JarbasAl May 22, 2026
68848ea
refactor: language is per-query; consolidate language matching
JarbasAl May 22, 2026
e179a83
fix: bare language tag favors its norm region, not langcodes' populou…
JarbasAl May 22, 2026
29ab016
feat: primary-subtag fallback in closest_lang for when langcodes is a…
JarbasAl May 22, 2026
e5781cf
refactor: one lang_distance function, closest_lang just minimizes it
JarbasAl May 22, 2026
e1f16ea
docs: add a zero-to-hero docs/ guide; point README at it
JarbasAl May 22, 2026
a62883b
test: cover edge cases across all five modules
JarbasAl May 22, 2026
2b9a953
feat: linter — slot-consistency, .blacklist pairing, --spec-version
JarbasAl May 22, 2026
b3c5832
docs: point at OpenVoiceOS/architecture (repo renamed from formal-spe…
JarbasAl May 22, 2026
11e830e
docs: credit the NLnet NGI0 Commons Fund
JarbasAl May 22, 2026
2b321bf
Add renovate.json (#1)
renovate[bot] May 22, 2026
4b028c6
ci: add standard GitHub Actions workflows
JarbasAl May 22, 2026
57bc59b
feat: .prompt renderer — reference implementation of OVOS-INTENT-2 §4.4
JarbasAl May 22, 2026
0a1449b
feat: linter — .prompt role awareness and --spec-version 3
JarbasAl May 22, 2026
69ea91c
Increment Version to 0.0.1a2
JarbasAl May 22, 2026
6d81085
Update Changelog
JarbasAl May 22, 2026
07a419f
feat: lang_matches and iter_locale_dirs — pin the cross-component lan…
JarbasAl May 23, 2026
f27680b
Increment Version to 0.1.0a1
JarbasAl May 23, 2026
0781559
Update Changelog
JarbasAl May 23, 2026
a175e4c
feat: LocaleResources.find — public resource lookup by (name, ext, la…
JarbasAl May 23, 2026
deb5cf8
Increment Version to 0.2.0a1
JarbasAl May 23, 2026
bbeb0c6
Update Changelog
JarbasAl May 23, 2026
a5793bc
feat: keyword_form / vocabulary_keywords + utterance_contains / strip…
JarbasAl May 23, 2026
445c947
Increment Version to 0.3.0a1
JarbasAl May 23, 2026
077cbd8
Update Changelog
JarbasAl May 23, 2026
745f691
feat: LocaleResources.voc_list / .voc_match / .remove_voc (#10)
JarbasAl May 23, 2026
2a08f0c
Increment Version to 0.4.0a1
JarbasAl May 23, 2026
9ef17a4
Update Changelog
JarbasAl May 23, 2026
6a8f9f0
feat: OVOS-MSG-1 Message envelope (#12)
JarbasAl May 24, 2026
b3e506f
Increment Version to 0.5.0a1
JarbasAl May 24, 2026
00dbfa3
Update Changelog
JarbasAl May 24, 2026
4a0160c
fix(Message): three follow-ups missed by the 0.5.0a1 cut (#14)
JarbasAl May 24, 2026
b85cd41
Increment Version to 0.5.1a1
JarbasAl May 24, 2026
5ee2998
Update Changelog
JarbasAl May 24, 2026
4b4bfb5
feat: find_lang_dir — standalone language-aware directory resolver (#17)
JarbasAl May 25, 2026
876f781
Increment Version to 0.6.0a1
JarbasAl May 25, 2026
4c24a60
Update Changelog
JarbasAl May 25, 2026
7092490
feat: union slot sets for .intent (OVOS-INTENT-1 §5.5) (#19)
JarbasAl Jun 2, 2026
919d7c7
Increment Version to 0.7.0a1
JarbasAl Jun 2, 2026
380dc68
Update Changelog
JarbasAl Jun 2, 2026
02ca560
feat: inline_keywords — resolve <keyword> refs as (a|b|c) for engines…
JarbasAl Jun 2, 2026
ea18f32
Increment Version to 0.8.0a1
JarbasAl Jun 2, 2026
8a703fe
Update Changelog
JarbasAl Jun 2, 2026
d2db51f
docs: standardize NGI0 Commons Fund attribution (#24)
JarbasAl Jun 13, 2026
a3b5c12
Increment Version to 0.8.0a2
JarbasAl Jun 13, 2026
420ec7f
Update Changelog
JarbasAl Jun 13, 2026
3412ef4
feat: SpecMessage registry + legacy->spec MIGRATION_MAP (#26)
JarbasAl Jun 25, 2026
73e9734
Increment Version to 0.9.0a1
JarbasAl Jun 25, 2026
1b9eab6
Update Changelog
JarbasAl Jun 25, 2026
27c6615
feat: add NamespaceTranslator (shared bus-namespace migration logic) …
JarbasAl Jun 25, 2026
4f4589c
Increment Version to 0.10.0a1
JarbasAl Jun 25, 2026
c3e289d
Update Changelog
JarbasAl Jun 25, 2026
a81f2f0
feat: bridge PIPELINE-1 trio, STOP-1, intent-unmatched & INTENT-4 man…
JarbasAl Jun 26, 2026
679f015
Increment Version to 0.11.0a1
JarbasAl Jun 26, 2026
daca8b9
Update Changelog
JarbasAl Jun 26, 2026
caedc63
feat: OVOS-SESSION-1 canonical Session reference implementation (#16)
JarbasAl Jun 26, 2026
280fca6
Increment Version to 0.12.0a1
JarbasAl Jun 26, 2026
b0b2ab1
Update Changelog
JarbasAl Jun 26, 2026
403c48e
docs: spec traceability for the locale/template/lint domain (#33)
JarbasAl Jun 26, 2026
cc18537
Increment Version to 0.12.0a2
JarbasAl Jun 26, 2026
59a92d2
Update Changelog
JarbasAl Jun 26, 2026
8c4fe5a
docs: spec-traceability for the bus/message domain (MSG-1) (#34)
JarbasAl Jun 26, 2026
3265561
Increment Version to 0.12.0a3
JarbasAl Jun 26, 2026
468bb1e
Update Changelog
JarbasAl Jun 26, 2026
1afcbae
fix: converse-handler cap is per-insertion deployment value, not sess…
JarbasAl Jun 26, 2026
1d5e40d
Increment Version to 0.12.1a1
JarbasAl Jun 26, 2026
eba026c
Update Changelog
JarbasAl Jun 26, 2026
2eefe0d
feat: dual-brace template refs ({x} and {{x}}); .prompt double-brace-…
JarbasAl Jun 26, 2026
3238c5e
Increment Version to 0.13.0a1
JarbasAl Jun 26, 2026
be82af8
Update Changelog
JarbasAl Jun 26, 2026
881d04b
feat: add persona_id to canonical Session (OVOS-PERSONA-1 registered …
JarbasAl Jun 26, 2026
31399d7
Increment Version to 0.14.0a1
JarbasAl Jun 26, 2026
d1135d3
Update Changelog
JarbasAl Jun 26, 2026
9a34453
fix: locale/template/lint/language spec-conformance (audit remediatio…
JarbasAl Jun 27, 2026
b68b2b8
Increment Version to 0.14.1a1
JarbasAl Jun 27, 2026
1b5e00a
Update Changelog
JarbasAl Jun 27, 2026
ee01f98
feat: add fallback_handlers to canonical Session (OVOS-FALLBACK-1 reg…
JarbasAl Jun 27, 2026
227fa1f
Increment Version to 0.15.0a1
JarbasAl Jun 27, 2026
2a13827
Update Changelog
JarbasAl Jun 27, 2026
4c544fd
feat: plugin-agnostic IntentBuilder/Intent + voc_match (INTENT-4 keyw…
JarbasAl Jun 27, 2026
eab420f
Increment Version to 0.16.0a1
JarbasAl Jun 27, 2026
2f0d76d
Update Changelog
JarbasAl Jun 27, 2026
d07375f
fix: message-domain conformance + NamespaceTranslator per-topic paylo…
JarbasAl Jun 27, 2026
03554da
Increment Version to 0.16.1a1
JarbasAl Jun 27, 2026
c0567ee
Update Changelog
JarbasAl Jun 27, 2026
0862577
docs: make intent + bus-namespace docs timeless and standalone (#50)
JarbasAl Jun 27, 2026
eb1f5ba
Increment Version to 0.16.1a2
JarbasAl Jun 27, 2026
a902c0a
Update Changelog
JarbasAl Jun 27, 2026
0e5c4aa
feat: bridge AUDIO-1 §7 output topics in MIGRATION_MAP (#55)
JarbasAl Jun 27, 2026
dc0bd6b
fix: enforce OVOS-MSG-1 §2.1 type syntax on serialize (#53)
JarbasAl Jun 27, 2026
99d7e8d
Increment Version to 0.17.0a1
JarbasAl Jun 27, 2026
3efa43d
Increment Version to 0.17.1a1
JarbasAl Jun 27, 2026
a452769
Update Changelog
JarbasAl Jun 27, 2026
18bed52
Update Changelog
JarbasAl Jun 27, 2026
5283a33
fix: reject malformed keyword intents at build/emit (INTENT-3 §4.2) (…
JarbasAl Jun 27, 2026
2beef0f
Increment Version to 0.17.2a1
JarbasAl Jun 27, 2026
2d254d4
Update Changelog
JarbasAl Jun 27, 2026
750b739
fix: warn (not raise) on malformed intent at build/emit (OVOS-INTENT-…
JarbasAl Jun 27, 2026
7bb70e1
Increment Version to 0.17.3a1
JarbasAl Jun 27, 2026
4a1d796
Update Changelog
JarbasAl Jun 27, 2026
72a5005
feat: make Session and Message hashable (#61)
JarbasAl Jun 27, 2026
5d6b1e4
Increment Version to 0.18.0a1
JarbasAl Jun 27, 2026
c5556ae
Update Changelog
JarbasAl Jun 27, 2026
0b2f83b
fix!: drop handler-trio from the namespace migration bridge (#63)
JarbasAl Jun 28, 2026
4a52e94
Increment Version to 1.0.0a1
JarbasAl Jun 28, 2026
1253cd8
Update Changelog
JarbasAl Jun 28, 2026
09ef097
feat: complete SpecMessage with all spec-defined bus topics (#65)
JarbasAl Jun 28, 2026
009030c
Increment Version to 1.1.0a1
JarbasAl Jun 28, 2026
e6e7de8
Update Changelog
JarbasAl Jun 28, 2026
516ed82
feat: SessionManager singleton registry + forward/reply session stamp…
JarbasAl Jun 29, 2026
1f74022
Increment Version to 1.2.0a1
JarbasAl Jun 29, 2026
e9af733
Update Changelog
JarbasAl Jun 29, 2026
1795125
fix: default session single source of truth (sessions dict, not a mir…
JarbasAl Jun 29, 2026
2b2cf14
Increment Version to 1.2.1a1
JarbasAl Jun 29, 2026
4330d96
Update Changelog
JarbasAl Jun 29, 2026
f227c92
fix: default session folds like any session (drop owner-only reservat…
JarbasAl Jun 29, 2026
21836bd
Increment Version to 1.2.2a1
JarbasAl Jun 29, 2026
eda5b6d
Update Changelog
JarbasAl Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/build-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Build Tests

on:
pull_request:
branches: [dev, master, main]
workflow_dispatch:

jobs:
build:
uses: OpenVoiceOS/gh-automations/.github/workflows/build-tests.yml@dev
with:
python_versions: '["3.10", "3.11", "3.12", "3.13", "3.14"]'
install_extras: 'test'
test_path: 'test'
10 changes: 10 additions & 0 deletions .github/workflows/conventional-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# auto add labels to PRs
on:
pull_request_target:
types: [ opened, edited ]
name: conventional-release-labels
jobs:
label:
runs-on: ubuntu-latest
steps:
- uses: bcoe/conventional-release-labels@v1
16 changes: 16 additions & 0 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Code Coverage

on:
pull_request:
branches: [dev]
workflow_dispatch:

jobs:
coverage:
uses: OpenVoiceOS/gh-automations/.github/workflows/coverage.yml@dev
with:
python_version: '3.11'
coverage_source: 'ovos_spec_tools'
test_path: 'test/'
install_extras: '.[test]'
min_coverage: 0
17 changes: 17 additions & 0 deletions .github/workflows/license_check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: License Check

on:
pull_request:
branches: [dev]
workflow_dispatch:

jobs:
license_check:
uses: OpenVoiceOS/gh-automations/.github/workflows/license-check.yml@dev
with:
# pilosus/action-pip-license-checker queries PyPI metadata for each
# installed package. The PyPI release of ovos-spec-tools predates the
# SPDX License classifier in pyproject.toml, so the package audits
# itself as "Error" (unknown). Run in warn-only mode until the next
# alpha republishes — transitive dependencies still get reported.
warn_only: true
13 changes: 13 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Lint

on:
pull_request:
branches: [dev, master, main]
workflow_dispatch:

jobs:
lint:
uses: OpenVoiceOS/gh-automations/.github/workflows/lint.yml@dev
with:
ruff: true
pre_commit: false # set true if .pre-commit-config.yaml exists
10 changes: 10 additions & 0 deletions .github/workflows/pip_audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: PIP Audit

on:
pull_request:
branches: [dev]
workflow_dispatch:

jobs:
pip_audit:
uses: OpenVoiceOS/gh-automations/.github/workflows/pip-audit.yml@dev
23 changes: 23 additions & 0 deletions .github/workflows/publish_stable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Publish Stable Release

on:
workflow_dispatch:
push:
branches: [master, main]

permissions:
contents: write # required for version bump commit and release tag

jobs:
publish_stable:
if: github.actor != 'github-actions[bot]'
uses: OpenVoiceOS/gh-automations/.github/workflows/publish-stable.yml@dev
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
MATRIX_TOKEN: ${{ secrets.MATRIX_TOKEN }}
with:
version_file: 'ovos_spec_tools/version.py'
publish_pypi: true
publish_release: true
sync_dev: true
notify_matrix: true
13 changes: 13 additions & 0 deletions .github/workflows/release-preview.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Release Preview

on:
pull_request:
branches: [dev]
workflow_dispatch:

jobs:
release_preview:
uses: OpenVoiceOS/gh-automations/.github/workflows/release-preview.yml@dev
with:
package_name: 'ovos_spec_tools'
version_file: 'ovos_spec_tools/version.py'
28 changes: 28 additions & 0 deletions .github/workflows/release_workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Release Alpha and Propose Stable

on:
workflow_dispatch:
pull_request:
types: [closed]
branches: [dev]

permissions:
contents: write
pull-requests: write

jobs:
publish_alpha:
if: github.event.pull_request.merged == true || github.event_name == 'workflow_dispatch'
uses: OpenVoiceOS/gh-automations/.github/workflows/publish-alpha.yml@dev
secrets:
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
MATRIX_TOKEN: ${{ secrets.MATRIX_TOKEN }}
with:
branch: 'dev'
version_file: 'ovos_spec_tools/version.py'
update_changelog: true
publish_prerelease: true
propose_release: true
changelog_max_issues: 50
publish_pypi: true
notify_matrix: true
12 changes: 12 additions & 0 deletions .github/workflows/repo-health.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Repo Health

on:
pull_request:
branches: [dev, master, main]
workflow_dispatch:

jobs:
repo_health:
uses: OpenVoiceOS/gh-automations/.github/workflows/repo-health.yml@dev
with:
version_file: 'ovos_spec_tools/version.py'
Loading