fix: bot identity reflects RiveScript's own origins, not Mycroft or the demo brain - #22
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
Pardon the interruption, but your automated checks are ready! 🛎️I've aggregated the results of the automated checks for this PR below. 🔍 LintI've got some results for you! 📝 ❌ ruff: issues found — see job log 🔨 Build TestsEnsuring all components are in alignment. 📏 ✅ All versions pass
⚖️ License CheckA 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. Processing... Done! Have a productive day! ☕ |
a71b4d7 to
71db8cd
Compare
71db8cd to
877812b
Compare
877812b to
507bb1e
Compare
… demo persona
The RiveScript bot's identity was leaking the upstream RiveScript demo
personality bundled in brain/en-us/begin.rive ("Aiden" from Detroit,
Michigan) and separately hardcoded name/master/website to Mycroft- or
skynet-flavored placeholders (master="skynet", website="openvoiceos.com").
A prior version of this fix replaced those with generic "OVOS" branding,
but RiveScript is a historical chatbot language with its own lineage: it
was created by Noah Petherbridge and first released in 2005, originally in
Perl (https://www.rivescript.com/about, https://www.rivescript.com/history).
The defaults now name that lineage - name is "RiveScript", master credits
Petherbridge as a public authorship fact (not private biography), website
points at rivescript.com, and age derives from RIVESCRIPT_BIRTH_YEAR (2005)
instead of an arbitrary org creation date. location/city name RiveScript's
own documented origin ("CPAN" / "the Perl programming language" - it grew
out of Chatbot::Alpha, was first written in Perl, and was published under
its own root namespace on CPAN, per rivescript.com/history) instead of a
guess about the person, since there is no sourced hometown or birthday for
Petherbridge, and instead of a bland placeholder that throws away the
language's history.
All identity variables remain configurable via settings keys, the
try/except guard around birth_year still prevents a bad config value from
crashing QuestionSolversService.load_plugins, and location/city are still
always set from a default so the demo brain's Michigan/Detroit values can
never leak through unset.
Also folds in a CI gap found while investigating this repo alongside its
sibling ovos-solver-plugin-aiml: this repo had no lint workflow and no
license-check workflow at all, while aiml already runs both against the
same gh-automations reusable workflows. Ports aiml's lint.yml and
license_check.yml verbatim.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
507bb1e to
0d00130
Compare
This plugin's bot identity was leaking the upstream RiveScript demo persona bundled in
brain/en-us/begin.rive("Aiden" from Detroit, Michigan) and separately hardcoded a few identity variables to Mycroft- or skynet-flavored placeholders. An earlier version of this fix replaced those with generic "OVOS" branding, but RiveScript is itself a historical chatbot language with a real lineage worth keeping: it was created by Noah Petherbridge and first released in 2005, originally written in Perl (https://www.rivescript.com/about, https://www.rivescript.com/history).The defaults now name is "RiveScript", the botmaster variable credits Petherbridge as the language's author (a public authorship fact, not private biography), the website points at rivescript.com, and the age variable derives its birth year from 2005 instead of an arbitrary org-creation-date default. Location and city name RiveScript's own documented origin instead - "CPAN" and "the Perl programming language" - since https://www.rivescript.com/history describes it growing out of
Chatbot::Alpha, being first written in Perl, and being published under its own root namespace on CPAN. That's a sourced fact about the software, not a guess about Petherbridge's personal whereabouts (there is no sourced hometown or birthday for him anywhere, so nothing about his biography was invented for this change) and it doesn't throw away the language's history the way a generic placeholder would.Every identity variable stays overridable via config, and the
try/exceptguard around a badbirth_yearconfig value still prevents that from crashing plugin construction. The regression tests were rewritten to assert the new lineage defaults while still covering: no "Mycroft"/"skynet" default anywhere, the demo brain's Michigan/Detroit values never leaking through, full config overridability with the override reaching the actual answer text, and a badbirth_yearnot raising.This branch also carries the unrelated lint/license-check CI workflows that were already part of it (ported verbatim from the sibling
ovos-solver-plugin-aimlrepo, which already runs both against the same shared reusable workflows) - left untouched since they are not part of the identity-lineage change.