fix: connect SessionManager to the bus in the skills process regardless of intent-service - #855
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthrough
ChangesSessionManager bus wiring
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant SkillManager
participant IntentService
participant SessionManager
participant MessageBus
SkillManager->>SessionManager: connect when the manager bus differs
IntentService->>SessionManager: connect when the service bus differs
SessionManager->>MessageBus: register session handlers
MessageBus-->>SessionManager: retain one handler set per connected bus
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
Another day, another set of automated checks. Let's see! 🌅I've aggregated the results of the automated checks for this PR below. 🏷️ Release PreviewComing soon to a stable branch near you! 📽️ Current:
✅ PR title follows conventional commit format. 🚀 Release Channel Compatibility Predicted next version:
🔒 Security (pip-audit)Scanning for any potential buffer overflows. 🌊 ✅ No known vulnerabilities found (113 packages scanned). 🌍 Locale BuildThe data is in, and it's looking interesting! 🧐 ✅ Locale properly configured (64 files, 17 languages) Locale directories found:
Localization coverage:
pyproject.toml: ✅
Build manifest: ✅ 31 locale files included in package 📚 DocsEnsuring the codebase remains stable and healthy. 🛡️ ✅ All required documentation files present. ✅ 📋 Repo HealthScanning for any signs of 'comment' bad breath. 🌬️ ✅ All required files present. Latest Version: ✅ 🔌 Plugin DetectionLet's see if this plugin can be found by the plugin manager! 🔌 ❌ Plugin Status: ERRORS (1) Plugin Info:
OPM Detection:
Entry Point Validation:
⊘ No Issues:
📊 CoverageScanning for any 'untested' alerts! 🚨 Files below 80% coverage (9 files)
Full report: download the 🔨 Build TestsVerifying that everything is in its right place. 🧘 ✅ All versions pass
🔌 Skill Tests (ovoscope)Checking for any potential conversational dead ends. 🚧 ✅ 4/40 passed ❌ **TestAdaptIntent** — 0/4
❌ **TestCancelIntentMidSentence** — 0/1
❌ **TestConverse** — 0/1
❌ **TestCountSkills** — 0/4
❌ **TestDeactivate** — 2/3
❌ **TestFallback** — 0/1
❌ **TestGlobalStopVocWithActiveSkill** — 0/1
❌ **TestGlobalStopVocabulary** — 0/2
❌ **TestIntentPipelineRouting** — 0/4
❌ **TestLangDisambiguation** — 0/4
❌ **TestLegacyIntentIdBackCompat** — 0/2
❌ **TestNoSkills** — 0/2
❌ **TestPadatiousIntent** — 0/4
❌ **TestStopNoSkills** — 0/3
❌ **TestStopServiceNotASkill** — 0/1
❌ **TestStopSkillCanHandleFalse** — 0/1
🚌 Bus CoverageQuantifying the thoroughness of our end-to-end signal tracking. 🧮 🔴 Coverage Summary
📊 Per-Skill Breakdown
🔍 Detailed Message Type Breakdown
|
78c27fc to
c1d5a71
Compare
The skills process only connected SessionManager to the bus when the intent service happened to live in the same process. In a distributed setup (skills in their own container) sessions never synced, so anything session-based quietly fell back to defaults.
This connects SessionManager to the bus unconditionally when the skills process starts. One-line change plus tests that run the skills process standalone and check the session actually tracks the bus.
Full unit suite green; also exercised in the mixed-version harness where the standalone-skills cell caught the original bug.