Skip to content

fix: pass skill_id to the ovoscope registration helpers - #52

Draft
JarbasAl wants to merge 1 commit into
devfrom
fix/ovoscope-skill-id-kwarg
Draft

fix: pass skill_id to the ovoscope registration helpers#52
JarbasAl wants to merge 1 commit into
devfrom
fix/ovoscope-skill-id-kwarg

Conversation

@JarbasAl

@JarbasAl JarbasAl commented Sep 9, 2026

Copy link
Copy Markdown
Member

🤖 Auto-generated by Claude Opus 5 (claude-opus-5) via Claude Code — NOT human-reviewed. Verify before acting.

Passes the skill_id that ovoscope's registration helpers require. Test-only.

Why

ovoscope#185 (fix!:) made skill_id a required keyword-only argument on the
registration helpers, so each can stamp message.context["skill_id"]. That is where the
pipeline 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 is
register_padatious_intent, register_padatious_entity, register_adapt_vocab,
register_adapt_intent, register_intent_case_tests and detach_intent. The call sites here were never
updated, so every one of them raises:

TypeError: register_padatious_intent() missing 1 required keyword-only argument: 'skill_id'

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_intent hits in opm.py files across the org are each plugin's own method of
that name, not the ovoscope helper, and are left alone.

@github-actions github-actions Bot added the fix label Sep 9, 2026
@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

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 Health

Ensuring the repository stays up to date. 🔄

✅ All required files present.

Latest Version: 0.10.3a1

nebulento/version.py — Version file
README.md — README
LICENSE.md — License file (consider renaming to LICENSE)
pyproject.toml — pyproject.toml
⚠️ setup.py — setup.py
🗑️ requirements.txt — legacy: pyproject.toml is present; this file is no longer needed
CHANGELOG.md — Changelog
nebulento/version.py has valid version block markers

🔌 Skill Tests (ovoscope)

Testing the skill's 'long-term memory' (aka settings/state). 🧠

20/20 passed

TestDetach — 2/2
TestEntityExtraction — 1/1
TestHierarchicalRouting — 2/2
TestLegacyStillConsumed — 1/1
TestNegativeKeywordTopic — 1/1
TestRegisteredIntentMatch — 5/5
TestSessionBlacklist — 2/2
TestSpecDeregister — 2/2
TestSpecDisableEnable — 2/2
TestSpecTemplateConsumed — 2/2

🚌 Bus Coverage

Measuring the reach of our bus handlers. 📏

⚠️ Bus coverage report unavailable — check the job log.

📊 Coverage

Checking the structural integrity of our tests. 🏗️

91.6% total coverage

⚠️ Some tests failed — coverage figures may be incomplete.

Per-file coverage (7 files)
File Coverage Missing lines
nebulento/opm.py 87.1% 48
nebulento/hierarchical.py 93.8% 4
nebulento/fuzz.py 94.9% 3
nebulento/container.py 97.8% 3
nebulento/__init__.py 100.0% 0
nebulento/bracket_expansion.py 100.0% 0
nebulento/version.py 100.0% 0

Full report: download the coverage-report artifact.

🔍 Lint

A quick update on the progress of your PR checks. 📈

ruff: issues found — see job log

⚖️ License Check

A 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 Preview

Ensuring the 'Dependency Updates' are documented. 📦

Current: 0.10.3a1Next: 0.10.4a1

Signal Value
Label fix
PR title fix: pass skill_id to the ovoscope registration helpers
Bump build

✅ PR title follows conventional commit format.


🚀 Release Channel Compatibility

Predicted next version: 0.10.4a1

Channel Status Note Current Constraint
Stable Not in channel -
Testing Not in channel -
Alpha Not in channel -

🔌 Plugin Detection

Ensuring this plugin plays nice with others in the sandbox. 🏖️

Plugin Status: ERRORS (1)

Plugin Info:

  • Name: nebulento
  • Description: dead simple fuzzy matching intent parser

OPM Detection:

Plugin Type Wheel Editable
pipeline

Entry Point Validation:

Entry Point Type Import Interface
ovos-nebulento-hierarchical-pipeline-plugin pipeline
ovos-nebulento-pipeline-plugin pipeline ✅ 726ms

⊘ No settingsmeta.json
requires-python >=3.10 — running Python 3.11

Issues:

  • ❌ Import time for ovos-nebulento-pipeline-plugin exceeds 500ms (726ms)
  • ⚠️ No settingsmeta.json found
  • ⚠️ No settingsmeta.json found

🔨 Build Tests

Checking the plumbing of your data flows. 🚰

Python Build Install Tests
3.10 ⚠️
3.11 ⚠️
3.12 ⚠️
3.13 ⚠️
3.14 ⚠️

❌ 3.10: Install OK, tests failed
❌ 3.11: Install OK, tests failed
❌ 3.12: Install OK, tests failed
❌ 3.13: Install OK, tests failed
❌ 3.14: Install OK, tests failed
Check job logs for details.

🔒 Security (pip-audit)

Ensuring our cross-site scripting defenses are up. 🛡️

✅ No known vulnerabilities found (51 packages scanned).


Providing clarity through automated analysis 🔍

@JarbasAl
JarbasAl force-pushed the fix/ovoscope-skill-id-kwarg branch from 34379b2 to ed6ca7b Compare September 9, 2026 11:57
@github-actions github-actions Bot added fix and removed fix labels Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant