test(fallback): poll_topics counts the string member forms too - #644
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 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 |
Automated check summary ready. 📊I've aggregated the results of the automated checks for this PR below. 📡 Channel Compat — stableThe automated report has been generated. 🖨️ 🚧 Channel unresolvable with this checkout — the repo's dependency floors exceed what the channel pins (fleet finding; see the install log). Constraints: https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/main/constraints-stable.txt ⚖️ License CheckChecking the terms and conditions of your code. 📝 ✅ No license violations found. Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed. 🔍 LintI've checked the vitals of this contribution. 🩺 ❌ ruff: issues found in 96 file(s) — see job log 📡 Channel Compat — testingI've finished the heavy lifting on this check. 🏋️♂️ 🚧 Channel unresolvable with this checkout — the repo's dependency floors exceed what the channel pins (fleet finding; see the install log). Constraints: https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/main/constraints-testing.txt 📋 Repo HealthI've performed a digital acupuncture on the codebase. 📍 ✅ All required files present. Latest Version: ✅ 🔨 Build TestsChecking if the architectural integrity holds up. 🏛️ ✅ All versions pass
🔒 Security (pip-audit)Checking if we're following security best practices. 📏 ✅ No known vulnerabilities found (72 packages scanned). Keeping the repository healthy and happy. 😊 |
ovos-core#994 counts FALLBACK_PING/FALLBACK_PONG written as a string constant (SpecMessage["FALLBACK_PONG"], getattr(SpecMessage, "FALLBACK_PONG")) as the canonical topic they carry. The workshop guard from #624 counted the attribute form only, so the two guards differed (review-ovos-core-994.md note 2). Ported the branch; poll_topics takes an optional source for the mutant cases: attribute, subscript, getattr and a legacy-literal control. Without the branch the subscript and getattr cases fail; with it, 6 passed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
8e14e2e to
6ec7c6f
Compare
What
poll_topics()intest_fallback_pong_spelling_floor.pynow countsFALLBACK_PING/FALLBACK_PONGwritten as a string constant (SpecMessage["FALLBACK_PONG"],getattr(SpecMessage, "FALLBACK_PONG")) as the canonical topic they carry. That is the branch ovos-core#994 has in itsemitted_topics(). The two floor guards now apply the same rule.Why
#624 counted the attribute form only. A switch written through a subscript or
getattrreached the floor case only through the legacy-pair assertion (review of ovos-core#994, note 2).Test
poll_topics()takes an optional source, and aTestPollTopicsGuardclass holds four cases: attribute, subscript, getattr, and a legacy-literal control. Without the new branch the subscript and getattr cases fail (2 failed, 4 passed). With it: 6 passed.Follow-up to #624. Task T-1612.
🤖 Generated with Claude Code