Skip to content

feat: deprecate OVOSCommonPlaybackSkill in favor of MediaProvider plugins#423

Draft
JarbasAl wants to merge 2 commits into
devfrom
feat/deprecate-ocp-skills
Draft

feat: deprecate OVOSCommonPlaybackSkill in favor of MediaProvider plugins#423
JarbasAl wants to merge 2 commits into
devfrom
feat/deprecate-ocp-skills

Conversation

@JarbasAl

Copy link
Copy Markdown
Member

Phase of the ovos-media modernization: media catalogs move from OCP skills to the MediaProvider plugin type (opm.media.provider), loaded in-process by the OCP pipeline and returning mediavocab.Release (see OVOS-OCP-1 and the ovos-media-provider-* plugins).

This adds a non-breaking deprecation notice to OVOSCommonPlaybackSkill.__init__ steering authors to the new model. Existing OCP skills keep working — hard removal is a future major. Draft: merge once the maintainer is ready to surface the deprecation.

19 common_play tests pass.

…gins

OCP media-provider skills (OVOSCommonPlaybackSkill + @ocp_search) are superseded
by the opm.media.provider plugin type, loaded in-process by the OCP pipeline and
returning mediavocab.Release. Emit a deprecation notice pointing skill authors to
the MediaProvider model and the OVOS-OCP-1 spec. Non-breaking: existing skills keep
working.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@JarbasAl, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 16 minutes and 11 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more credits in the billing tab to continue.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses rolling per-developer review limits. Reviews become available again as older review attempts age out of the rolling limit window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9dd23d26-a401-4dbe-9eec-26b0866fba97

📥 Commits

Reviewing files that changed from the base of the PR and between 3c81a6d and d591807.

📒 Files selected for processing (2)
  • docs/skill-classes.md
  • ovos_workshop/skills/common_play.py
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/deprecate-ocp-skills

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 Jun 23, 2026

Copy link
Copy Markdown
Contributor

Automated check summary ready. 📊

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

📋 Repo Health

Ensuring the repo's immune system is strong (aka security checks). 🛡️

✅ All required files present.

Latest Version: 8.2.1a1

ovos_workshop/version.py — Version file
README.md — README
LICENSE — License file
pyproject.toml — pyproject.toml
⚠️ setup.py — setup.py
CHANGELOG.md — Changelog
ovos_workshop/version.py has valid version block markers

🔒 Security (pip-audit)

Scanning for any potential SQL injection points. 💉

✅ No known vulnerabilities found (72 packages scanned).

⚖️ License Check

Ensuring our license headers are up to date for 2024. 📅

✅ No license violations found.

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

🔍 Lint

Ensuring the codebase remains stable and healthy. 🛡️

ruff: issues found — see job log

🔨 Build Tests

I've poured the digital concrete for this build. 🏗️

✅ All versions pass

Python Build Install Tests
3.10
3.11
3.12
3.13
3.14

Crafting a better voice assistant, one commit at a time 🎙️

@JarbasAl JarbasAl marked this pull request as ready for review June 23, 2026 18:48
@JarbasAl JarbasAl marked this pull request as draft June 23, 2026 19:09
JarbasAl added a commit that referenced this pull request Jun 26, 2026
Per-session playback state in OVOSCommonPlaybackSkill (state emits via
message.reply so they route to the originating session) and game_skill adopting
the context-gated layers. OCPCommonPlaybackSkill deprecation is handled separately
in #423.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
JarbasAl added a commit that referenced this pull request Jun 26, 2026
Per-session playback state in OVOSCommonPlaybackSkill (state events emit via
message.reply so they route to the originating session) and game_skill on the
context-gated layers (probing skill_will_match with its session). OCPCommonPlayback
deprecation is handled in #423.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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