feat: register {brightness}/{color} entity files - #38
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Checking back in with the latest test results. 📡I've aggregated the results of the automated checks for this PR below. 📋 Repo HealthEnsuring the repo is getting enough sleep (aka stable releases). 💤 ✅ All required files present. Latest Version: ✅ 🎙️ SkillAuditing the skill's manifest for completeness. 📋 🎙️ (unknown skill_id) — 13 languages en-US: 3 intents · 22 vocab · 15 dialogs · skill.json Translation coverage — 12 languages (6 complete, 6 incomplete)
⚖️ License CheckLegal eagle here! Checking those licenses. ⚖️ ✅ No license violations found. Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed. 🔒 Security (pip-audit)Security report: No threats detected in the area. ✅ ✅ No known vulnerabilities found (78 packages scanned). 🔍 LintThe latest check cycle has concluded. 🔄 ❌ ruff: issues found — see job log 🧪 Spec LintThe latest check report is officially filed. 📁 22 error(s), 22 warning(s) 🔨 Build TestsRunning the forge to see if the code tempers correctly. 🔥 ✅ All versions pass
🔌 Skill Tests (ovoscope)Intent-matching simulation: results incoming! 🚀 ✅ 59/59 passed ✅ TestEntityConstraints — 3/3 🚌 Bus CoverageCalculating the signal margins of your changes. 📐 📊 CoverageHow well do we know our own code? 🧠 ❌ 16.6% total coverage Per-file coverage (10 files)
Full report: download the 🏷️ Release PreviewI've checked the 'Security Updates' section. 🛡️ Current:
✅ PR title follows conventional commit format. 🚀 Release Channel Compatibility Predicted next version:
Thanks for making OVOS better today! 🙌 |
ad05a67 to
bf4eba0
Compare
bf4eba0 to
62775df
Compare
62775df to
17c891e
Compare
17c891e to
1230d39
Compare
ovos-workshop 9.5.0a1 auto-registers every .entity file shipped under a
skill's locale resources the first time that language's resources load,
before any intent template is registered, and the registration is
idempotent -- no skill-authored register_entity_file() call is needed
anymore. This PR now ships only locale/*/brightness.entity and
locale/*/color.entity (already present) plus test coverage and the floor
bumps that guarantee auto-registration is active; __init__.py no longer
has an initialize() at all.
Unit test boots the skill via a FakeBus with no manual registration call
and asserts the padatious:register_entity messages for both {brightness}
and {color} land with the expected sample values. Deleting either entity
file turns it red (verified locally). E2e coverage of the padatious
hint-band behavior for out-of-list values, and brightness.entity's
digit-wildcard '#' lines being dropped as comments, is unchanged.
Also fixes the test extra's ovos-core pin to ovos-core[plugins,lgpl],
matching the sibling skill PRs in this batch, so ovos-adapt-pipeline-plugin
actually installs and the golden-utterance suite's Adapt-intent rows can
run instead of silently failing to match.
Floors: ovos-workshop>=9.5.0a1,<10.0.0; ovos-padatious>=2.0.4a1,<3.0.0
(test extra).
1230d39 to
ff3408a
Compare
🤖 Auto-generated by Claude Fable 5 (claude-fable-5) via Claude Code — NOT human-reviewed. Verify before acting.
This repo ships
brightness.entityandcolor.entityfiles matching the{brightness}and{color}slots inbrightness.intentandeye_color.intent. The original version of this PR wired a manualinitialize()that calledregister_entity_filefor both. ovos-workshop 9.5.0a1 makes that manual call unnecessary: it now auto-registers every.entityfile shipped under a skill's locale resources the first time that language's resources load, before any intent template is registered, and the registration is idempotent. So this PR now ships only the entity files (already present) plus the test coverage and the floor bumps that guarantee auto-registration is active — there is no more skill-authored registration code.Floors:
ovos-workshop>=9.5.0a1,<10.0.0(runtime and test extra) andovos-padatious>=2.0.4a1,<3.0.0(test extra). These are the versions where auto-registration and its entity-naming fix landed. The test extra'sovos-corepin was also fixed toovos-core[plugins,lgpl], matching the sibling skill PRs in this batch, soovos-adapt-pipeline-pluginactually installs and the golden-utterance suite's Adapt-intent rows (e.g. "right look") run instead of silently failing to match.The unit test now boots the skill with a
FakeBusand no manual registration call anywhere in the code, and asserts thepadatious:register_entitymessages for both{brightness}and{color}land on the bus with the expected sample values straight from the locale files. Deleting either entity file turns the test red — verified locally by removingcolor.entity, confirming the failure, then restoring it and confirming green again.The end-to-end suite is unchanged in substance: a registered color ("turquoise") still routes at the padatious-high band with the slot tagged correctly, and an unregistered color ("mauve") still routes but only once the session pipeline also includes padatious-medium, since an unregistered value is floored below the high threshold — that's the entity-as-hint, not allow-list, behavior.
brightness.entity's bare#/##/###/#%/##%/###%lines across all thirteen locales were placeholders left over from an earlier draft, never actually replaced: the shared resource reader drops them as comments, so they never registered any numeric hint. They're now replaced in every locale with real numeric and percent examples (20,50,75,100and their percent-word forms), and the unit test asserts a numeric sample lands on the bus alongside the word samples.Verified in a fresh
uvvenv with--prerelease=allow: the resolver picksovos-workshop==9.5.0a1andovos-padatious==2.0.4a1off the declared floors, andovos_adaptnow imports. Full suite (64 tests, unit + end-to-end) passed clean in ~271s after the brightness.entity fix.