Skip to content

Release 0.6.1a1 - #109

Open
github-actions[bot] wants to merge 57 commits into
masterfrom
release-0.6.1a1
Open

Release 0.6.1a1#109
github-actions[bot] wants to merge 57 commits into
masterfrom
release-0.6.1a1

Conversation

@github-actions

Copy link
Copy Markdown

Human review requested!

gitlocalize-app Bot and others added 30 commits November 17, 2025 13:15
* Translate skill.json via GitLocalize

* Translate dialogs.json via GitLocalize

* Translate intents.json via GitLocalize

---------

Co-authored-by: marccasadesus <marc.casadesus.bsc@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Translate skill.json via GitLocalize

* Translate skill.json via GitLocalize

---------

Co-authored-by: Adina Vladu <adina.vladu@usc.es>
Co-authored-by: daniferlop <danielfernandez.lopez@usc.es>
* Translate skill.json via GitLocalize

* Translate dialogs.json via GitLocalize

* Translate intents.json via GitLocalize

---------

Co-authored-by: Goudarz Jafari <me@goudarzjafari.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Automated rename submitted by @JarbasAl via OVOS Localize.

Co-authored-by: ovos-localize[bot] <ovos-localize[bot]@users.noreply.github.com>
Automated rename submitted by @JarbasAl via OVOS Localize.

Co-authored-by: ovos-localize[bot] <ovos-localize[bot]@users.noreply.github.com>
JarbasAl and others added 27 commits April 3, 2026 19:06
* fix(i18n): normalize locale folder names to canonical BCP-47 form

Rename all locale directories to use canonical BCP-47 codes:
- Lowercase regions → uppercase (da-dk → da-DK, en-us → en-US)
- Bare language codes → full BCP-47 (da → da-DK, eu → eu-ES)
- Invalid codes remapped (eu-eu → eu-ES, fa-fa → fa-IR)
- Nested bare-language subdirs merged up (eu-ES/eu/ → eu-ES/)

This fixes wheel build failures caused by ZIP files containing
duplicate entries with different contents for the same logical path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore(i18n): remove deprecated translations/ folder (gitlocalize)

The translations/ folder with JSON files was used by gitlocalize and
has been deprecated in favor of ovos-localize.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: aautomations

* ci: modernize GitHub Actions workflows

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

* ci: add standard GitHub Actions workflows

---------

Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
* fix(i18n): use canonical {application} slot in es-ES intents

The fallback handler reads entities["application"] for every language, but
the es-ES launch/close intents declared a localized {aplicación} slot. The
stricter padacioso slot-name parser rejects the non-ASCII name and the skill
fails to load entirely. Align es-ES with the shared slot name.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* test: add en-US fallback intent-routing e2e tests

ApplicationLauncherSkill is a FallbackSkill and never registers padacioso
skill intents, so it is exercised through the fallback pipeline on a real
MiniCroft bus. The launch/close utterances are asserted to reach the fallback
handler with only the OS-level action (subprocess.Popen / process termination)
mocked. The host .desktop scan is stubbed so the suite is hermetic, and each
xdist worker gets an isolated XDG tree to avoid skill-dir races.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci: install the test extra in the coverage job

The coverage workflow's primary test_extras defaults to 'dev'; setuptools
silently accepts the unknown extra and installs only the base package, so
ovoscope is missing and the e2e tests fail to import. Point test_extras at the
'test' extra that declares them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…94)

* feat(en-US): tighten open-vocab {application} slot with a .blacklist

The {application} slot is open-vocabulary and the "open"/"close" verbs are
shared with many other skills, so "open the door", "open the news",
"open the camera" and anaphoric "open it" were all captured as application
names. Add an application.blacklist slot-value exclusion (OVOS-INTENT-2 §4.3),
wired into the padacioso fallback loader, so blacklisted values leave the slot
unresolved and the utterance can reach its rightful skill (Home Assistant /
PHAL, ovos-skill-news, camera, weather, power).

Also consolidate the en-US launch/close templates via expansion, add the
"start"/"shut down" verbs and explicit app-context phrasings
("open the app spotify"), and add regression tests for matching and exclusion.

* fix: tolerate invalid locale tags and canonical {application} slot

parse_desktop_file crashed when a .desktop file carried a POSIX-style
locale modifier (e.g. Name[sr@latn]) that is not a valid BCP-47 tag,
taking the whole skill down at startup. Keep the raw tag when it cannot
be standardized instead of raising.

The es-ES intents used an accented, non-canonical slot name
({aplicación}) that violates the OVOS-INTENT-2 §3.4 slot charset and no
longer matched the code's "application" entity; align them with the
canonical {application} slot used by every other locale.

Add an ovoscope end2end suite routing launch/close utterances through the
fallback pipeline, plus a unit test locking the .desktop parser fix, and
declare the [test] extra (ovoscope + padacioso floor-pins).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* test(en-US): table-driven fallback intent-match e2e with negatives

Replace the brittle full ordered-message skeleton with per-utterance subset
assertions over the real high-priority fallback pipeline: a matched utterance
must carry ovos.skills.fallback.<skill_id>.response result=True; a blacklisted
or deictic phrasing must be declined (OVOS-INTENT-2 §4.3). Immune to
ovos-core message-sequence drift. Covers every launch/close verb alias plus
the cited blacklist over-grab exclusions.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* build: migrate to pyproject-only packaging

Drop setup.py, requirements.txt and MANIFEST.in in favour of a single
pyproject.toml. Version is derived dynamically from version.py's
VERSION_BLOCK, the skill entry-point and test extra are preserved, and
package-data bundles the locale resources (including the new en-US
application.blacklist).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Submitted by @athmanemokraoui via OVOS Localize

Co-authored-by: ovos-localize[bot] <ovos-localize[bot]@users.noreply.github.com>
Submitted by @athmanemokraoui via OVOS Localize

Co-authored-by: ovos-localize[bot] <ovos-localize[bot]@users.noreply.github.com>
Submitted by @athmanemokraoui via OVOS Localize

Co-authored-by: ovos-localize[bot] <ovos-localize[bot]@users.noreply.github.com>
Line 1 had translated the placeholder to {applikation}, while
line 2 in the same file correctly kept {application} unchanged -
an inconsistency within the file itself. The variable name must
match the English source exactly since the skill substitutes by
that key.

Found via ovos-localize validation while doing a general da-DK
translation review.
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants