Skip to content

refactor: drop dead skill/intent blacklist assignment - #18

Draft
JarbasAl wants to merge 1 commit into
devfrom
cleanup/dead-blacklist-assignment
Draft

refactor: drop dead skill/intent blacklist assignment#18
JarbasAl wants to merge 1 commit into
devfrom
cleanup/dead-blacklist-assignment

Conversation

@JarbasAl

@JarbasAl JarbasAl commented Jul 9, 2026

Copy link
Copy Markdown
Member

get_client() sets two attributes nothing reads:

client.skill_blacklist = user.skill_blacklist or []
client.intent_blacklist = user.intent_blacklist or []

HiveMindClientConnection has no skill_blacklist or intent_blacklist field — the dataclass simply accepts the ad-hoc attributes. Grepping the ecosystem, nothing reads them back.

Enforcement moved to OVOSAgentPolicy in hivemind-ovos-agent-plugin (HiveMind-core#85). It resolves the DB row via client.resolve_user(db) and reads user.skill_blacklist / user.intent_blacklist from there — policy.py:187-188. The connection attributes were never part of that path.

They are harmless, but they read as though the transport is applying an ACL, which it is not. That is worth deleting precisely because a future reader would trust it.

test_skill_blacklist_none_defaults_to_empty and test_intent_blacklist_none_defaults_to_empty asserted the dead attributes, so they go too, along with the now-unused _make_user kwargs.

Identical assignments exist in hivemind-websocket-protocol and hivemind-mqtt-protocol; companion PRs remove them there.

Suite: 47 passed (was 49, minus the two removed tests).

Note

Touches the same function as #17. Merge either order — the hunks are adjacent but distinct — though #17 is the one carrying a real fix.

🤖 Generated with Claude Code

get_client() set client.skill_blacklist and client.intent_blacklist on the
connection. HiveMindClientConnection has no such fields — the dataclass
just accepted the ad-hoc attributes — and nothing ever read them.

Blacklist enforcement moved to OVOSAgentPolicy (HiveMind-core#85), which
resolves the DB row through client.resolve_user(db) and reads
user.skill_blacklist there. These assignments are vestigial from before
that change, and read as though the transport applies an ACL when it
does not.

The two tests asserting the attributes were pinning the dead behaviour.

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

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e3a89b6f-5c35-4ab8-a162-9a1f61882083

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cleanup/dead-blacklist-assignment

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 Jul 9, 2026

Copy link
Copy Markdown

Another day, another set of automated checks. Let's see! 🌅

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

🔍 Lint

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

ruff: issues found — see job log

📋 Repo Health

Scanning for any signs of 'merge conflict' stress. 😫

✅ All required files present.

Latest Version: 0.0.4a1

hivemind_http_protocol/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
hivemind_http_protocol/version.py has valid version block markers

📊 Coverage

Is the code wearing its test-suit? Let's see. 👔

98.4% total coverage

Per-file coverage (2 files)
File Coverage Missing lines
hivemind_http_protocol/__init__.py 98.3% 4
hivemind_http_protocol/version.py 100.0% 0

Full report: download the coverage-report artifact.

🔒 Security (pip-audit)

I've audited the packages. Safety first! 🦺

✅ No known vulnerabilities found (79 packages scanned).

🏷️ Release Preview

A detailed preview of the next release cycle. 🎬

Current: 0.0.4a1Next: 0.0.4a2

Signal Value
Label (none)
PR title refactor: drop dead skill/intent blacklist assignment
Bump alpha

✅ PR title follows conventional commit format.


🚀 Release Channel Compatibility

Predicted next version: 0.0.4a2

Channel Status Note Current Constraint
Stable Not in channel -
Testing Compatible hivemind-http-protocol>=0.0.1,<1.0.0
Alpha Compatible hivemind-http-protocol>=0.0.4a1

⚖️ License Check

I've checked the license history of this repo. 📜

✅ No license violations found.

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


System.exit(0); // With love from OVOS 🖥️

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