Skip to content

docs(fakebus): clarify single-connection model for intent-topic bridge - #419

Merged
JarbasAl merged 1 commit into
devfrom
docs/fakebus-single-client-model
Aug 14, 2026
Merged

docs(fakebus): clarify single-connection model for intent-topic bridge#419
JarbasAl merged 1 commit into
devfrom
docs/fakebus-single-client-model

Conversation

@JarbasAl

Copy link
Copy Markdown
Member

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

A downstream team recently re-derived FakeBus's intent-pair dedup guard as a bug: they attached a second listener to the same FakeBus instance to observe both the legacy and canonical spellings of an intent topic, and only ever saw one delivery. That is correct behavior — a FakeBus models one bus connection, and one real MessageBusClient connection only delivers one spelling too. But nothing in the docstring said so, and the guard-scope explanation right next to it is dense enough that the single-connection assumption is easy to miss.

This PR only adds a short plain-English paragraph to the _bridge_intent_topic docstring in ovos_utils/fakebus.py, explaining what FakeBus can and cannot represent (one connection, not multiple), and pointing test observers at the canonical topic. No behavior changes; test/unittests/test_fakebus_intent_topic_bridge.py (12 tests) still passes.

…wire

Clarify that FakeBus's intent-pair dedup guard mirrors a single real
MessageBusClient connection, not multiple bus connections; test
observers sharing a skill's FakeBus should subscribe to the canonical
intent topic.
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

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

Next review available in: 79 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

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 reviews.

How do review limits work?

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

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: fc62913a-bfc8-413e-8f22-4521c48d1627

📥 Commits

Reviewing files that changed from the base of the PR and between 38eba04 and bb44ee0.

📒 Files selected for processing (1)
  • ovos_utils/fakebus.py

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 Aug 14, 2026

Copy link
Copy Markdown
Contributor

I've processed your PR. Here's what the automation found! ⚙️

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

🔍 Lint

Ensuring we're following our development process. 📏

ruff: issues found — see job log

📊 Coverage

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

85.2% total coverage

Files below 80% coverage (5 files)
File Coverage Missing lines
ovos_utils/log_parser.py 48.4% 225
ovos_utils/__init__.py 63.6% 16
ovos_utils/file_utils.py 74.4% 56
ovos_utils/thread_utils.py 76.9% 12
ovos_utils/geolocation.py 78.4% 22

Full report: download the coverage-report artifact.

🔒 Security (pip-audit)

Scanning for any signs of suspicious activity. 🕵️‍♂️

✅ No known vulnerabilities found (47 packages scanned).

🏷️ Release Preview

Polishing the release notes for the big debut! 🎀

Current: 0.13.10a1Next: 0.13.10a2

Signal Value
Label (none)
PR title docs(fakebus): clarify single-connection model for intent-topic bridge
Bump alpha

⚠️ No conventional commit prefix — alpha-only bump.
Suggested: fix: update the thing or feat: update the thing


🚀 Release Channel Compatibility

Predicted next version: 0.13.10a2

Channel Status Note Current Constraint
Stable Too new (must be <0.9.0) ovos-utils>=0.8.1,<0.9.0
Testing Too new (must be <0.8.5) ovos-utils>=0.8.4,<0.8.5
Alpha Compatible ovos-utils>=0.13.9a2

⚖️ 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.

📋 Repo Health

How's the repo's pulse? Let's take a look. 💓

✅ All required files present.

Latest Version: 0.13.10a1

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

🔨 Build Tests

Running the final assembly check. 🔧

✅ All versions pass

Python Build Install Tests
3.10
3.11
3.12
3.13
3.14

Closing the loop on this automated check ♻️

@JarbasAl
JarbasAl marked this pull request as ready for review August 14, 2026 00:10
@JarbasAl
JarbasAl merged commit b1de334 into dev Aug 14, 2026
14 checks passed
@JarbasAl
JarbasAl deleted the docs/fakebus-single-client-model branch August 14, 2026 00:10
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