fix: pass skill_id to the ovoscope registration helpers - #52
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
I've scrutinized every line of your PR. Here's the report. 🧐I've aggregated the results of the automated checks for this PR below. 📋 Repo HealthEnsuring the repository stays up to date. 🔄 ✅ All required files present. Latest Version: ✅ 🔌 Skill Tests (ovoscope)Testing the skill's 'long-term memory' (aka settings/state). 🧠 ✅ 20/20 passed ✅ TestDetach — 2/2 🚌 Bus CoverageMeasuring the reach of our bus handlers. 📏 📊 CoverageChecking the structural integrity of our tests. 🏗️ ✅ 91.6% total coverage Per-file coverage (7 files)
Full report: download the 🔍 LintA quick update on the progress of your PR checks. 📈 ❌ ruff: issues found — see job log ⚖️ License CheckA detailed legal audit of your PR. 📖 ✅ No license violations found. Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed. 🏷️ Release PreviewEnsuring the 'Dependency Updates' are documented. 📦 Current:
✅ PR title follows conventional commit format. 🚀 Release Channel Compatibility Predicted next version:
🔌 Plugin DetectionEnsuring this plugin plays nice with others in the sandbox. 🏖️ ❌ Plugin Status: ERRORS (1) Plugin Info:
OPM Detection:
Entry Point Validation:
⊘ No Issues:
🔨 Build TestsChecking the plumbing of your data flows. 🚰
❌ 3.10: Install OK, tests failed 🔒 Security (pip-audit)Ensuring our cross-site scripting defenses are up. 🛡️ ✅ No known vulnerabilities found (51 packages scanned). Providing clarity through automated analysis 🔍 |
34379b2 to
ed6ca7b
Compare
Passes the
skill_idthat ovoscope's registration helpers require. Test-only.Why
ovoscope#185 (
fix!:) madeskill_ida required keyword-only argument on theregistration helpers, so each can stamp
message.context["skill_id"]. That is where thepipeline reads a registration's provenance from.
The affected set was derived from ovoscope itself rather than listed by hand: every
module-level helper with a required keyword-only
skill_id. That isregister_padatious_intent,register_padatious_entity,register_adapt_vocab,register_adapt_intent,register_intent_case_testsanddetach_intent. The call sites here were neverupdated, so every one of them raises:
The failure is invisible until a published ovoscope alpha carrying #185 is resolved, which
is why it surfaced later than the change.
What changed
Each call passes the skill that owns the registration. Where the intent name is already
namespaced as
skill_id:name, the value is that owning skill rather than a new constant.An AST walk over the test tree enumerated the call sites, rather than a grep, so multi-line
calls and method-style calls could not hide from the check. Every one of them carries
skill_id.Blast radius
The same break hit ovos-test-harness (19 call sites, OpenVoiceOS/ovos-test-harness#66) and
linha-fina (2, OpenVoiceOS/linha-fina#29). ovos-markov-pipeline-plugin was already updated.
The
detach_intenthits inopm.pyfiles across the org are each plugin's own method ofthat name, not the ovoscope helper, and are left alone.