Skip to content

test: pass skill_id to the ovoscope harness helpers - #50

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

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

Conversation

@JarbasAl

@JarbasAl JarbasAl commented Sep 7, 2026

Copy link
Copy Markdown
Member

🤖 Auto-generated by Claude Fable 5.1 (claude-fable-5-1) via Claude Code — NOT human-reviewed. Verify before acting.

ovoscope 1.8.1a1 made skill_id a required keyword-only argument on the E2EPipelineHarness helpers (register_padatious_intent, register_padatious_entity, detach_intent), enforcing OVOS-INTENT-4 §3.1 attribution. This repo's e2e tests called those helpers without it, so any environment with ovoscope 1.8.1a1 fails the suite with TypeError.

The fix updates the calls in test/test_ovoscope_e2e.py and test/end2end/test_intent4_consume_e2e.py to pass skill_id, and bumps the ovoscope floor pin in the test extra to >=1.8.1a1.

Verified with a fresh venv installing ovoscope==1.8.1a1 from PyPI: reverting only the test-file changes reproduced 12 TypeError failures; with the fix applied the full suite is 172 passed, 3 pre-existing failures unrelated to this change (malformed-template tolerance in test_nebulento.py, untouched by this PR).

Separate finding, not addressed here: nebulento/opm.py:389 and nebulento/opm.py:512 still read message.data.get("skill_id") / message.data["skill_id"] for registration/deregistration handling rather than message.context["skill_id"], per OVOS-INTENT-4 §3.2 attribution.

ovoscope 1.8.1a1 made skill_id a required keyword-only argument of
register_padatious_intent, register_padatious_entity and
detach_intent (E2EPipelineHarness helpers) to enforce OVOS-INTENT-4
§3.1 attribution. Update the calls in test_ovoscope_e2e.py and
test/end2end/test_intent4_consume_e2e.py accordingly and bump the
ovoscope floor pin in the test extra.

Fail-before: 12 e2e tests raised TypeError (missing skill_id) against
unfixed test source with ovoscope 1.8.1a1 installed; all pass after
the fix. Full suite: 172 passed, 3 pre-existing unrelated failures in
test_nebulento.py (malformed-template tolerance, untouched by this
change).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 7, 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 7, 2026

Copy link
Copy Markdown

I've combed through the code with a fine-tooth comb. 🔍

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

🔍 Lint

Everything looks good so far! ✅

ruff: issues found — see job log

🏷️ Release Preview

Checking for any potential release blockers. 🚧

Current: 0.10.3a1Next: 0.10.3a2

Signal Value
Label (none)
PR title test: pass skill_id to the ovoscope harness helpers
Bump alpha

✅ PR title follows conventional commit format.


🚀 Release Channel Compatibility

Predicted next version: 0.10.3a2

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

🔌 Plugin Detection

Ensuring the plugin's 'license' matches the manager's expectations. ⚖️

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 ✅ 758ms

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

Issues:

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

📋 Repo Health

Checking for any cluttered files or folders. 🧹

✅ 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

📊 Coverage

Let's see if we've left any dark corners in the test suite. 🔦

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.

⚖️ License Check

Ensuring our EULA (if any) is still valid. 📑

✅ No license violations found.

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

🔌 Skill Tests (ovoscope)

I've verified the skill's 'multi-turn' conversation logic. 🔄

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

Ensuring the skill's internal gears are meshing correctly on the bus. ⚙️

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

🔨 Build Tests

The build is fresh out of the oven! 🥯

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.


Your friendly neighborhood bot 🕷️

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.

1 participant