Skip to content

fix: pass skill_id to ovoscope helpers and fix the malformed-template fixture - #53

Draft
openvoiceos-bot wants to merge 1 commit into
devfrom
fix/nebulento-skill-id-fixture
Draft

openvoiceos-bot wants to merge 1 commit into
devfrom
fix/nebulento-skill-id-fixture

Conversation

@openvoiceos-bot

Copy link
Copy Markdown

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

This PR clears two red checks that come from dev:

  1. e2e / ovoscope: ovoscope#185 made skill_id a required keyword-only argument on its registration helpers. Every call site here raised TypeError: register_padatious_intent() missing 1 required keyword-only argument: 'skill_id'.
  2. build_tests and coverage: three TestMalformedTemplateTolerance tests fail. They used "cansad(e)" as a malformed template. OVOS-INTENT-1 §3.6 makes a single-branch group degenerate, not malformed, so ovos-spec-tools folds it to "cansade".

This PR replaces #50, #51 and #52. Each of those PRs fixed one of the two reds and failed on the other.

What changed

  • test/test_ovoscope_e2e.py, test/end2end/test_intent4_consume_e2e.py: each helper call passes the skill that owns the registration.
  • test/test_nebulento.py: the malformed fixture is now an unbalanced group, "cansad(e". A new test checks that "cansad(e)" folds to "cansade".
  • nebulento/container.py: the docstring example is now the unbalanced group.
  • pyproject.toml: ovos-spec-tools>=1.10.7a1, the floor that test: malformed-template fixture uses an unbalanced group #51 set for the folding behaviour.
  • requirements.txt: removed. It copied the pyproject.toml dependencies with the old ovos-spec-tools>=1.5.0a1 floor, and no build step reads it.

Test

Local run on this tree (Python 3.11, prerelease resolution): pytest test gives 176 passed.

🤖 Generated with Claude Code

… fixture

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 13, 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 added the fix label Sep 13, 2026
@github-actions

github-actions Bot commented Sep 13, 2026

Copy link
Copy Markdown

The automated pipeline has reached its destination. 🏁

I've aggregated the results of the automated checks for this PR below.

🏷️ Release Preview

I've checked the 'Breaking Changes' section for surprises. 💥

Current: 0.10.3a1Next: 0.10.4a1

Signal Value
Label (none)
PR title fix: pass skill_id to ovoscope helpers and fix the malformed-template fixture
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 -

⚖️ License Check

Evaluating the legal risk of these changes. ⚖️

✅ No license violations found.

Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed.

🔨 Build Tests

The build pipeline has finished its work. 🏁

✅ All versions pass

Python Build Install Tests
3.10
3.11
3.12
3.13
3.14

🔌 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 ✅ 829ms

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

Issues:

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

🔌 Skill Tests (ovoscope)

Testing the skill's 'offline' capabilities (if any). 🔌

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

📊 Coverage

Coverage report incoming! Every line counts. 🎯

92.1% total coverage

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/__init__.py 100.0% 0
nebulento/bracket_expansion.py 100.0% 0
nebulento/container.py 100.0% 0
nebulento/version.py 100.0% 0

Full report: download the coverage-report artifact.

🔒 Security (pip-audit)

Checking for any insecure data transmissions. 📡

✅ No known vulnerabilities found (51 packages scanned).

🔍 Lint

I've finished the heavy lifting on this check. 🏋️‍♂️

ruff: issues found — see job log


The inspector has left the building 🕵️

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.

2 participants