Skip to content

fix: bot identity reflects RiveScript's own origins, not Mycroft or the demo brain - #22

Merged
JarbasAl merged 1 commit into
devfrom
ci-add-lint-license-gate-mx7
Aug 15, 2026
Merged

fix: bot identity reflects RiveScript's own origins, not Mycroft or the demo brain#22
JarbasAl merged 1 commit into
devfrom
ci-add-lint-license-gate-mx7

Conversation

@JarbasAl

@JarbasAl JarbasAl commented Aug 14, 2026

Copy link
Copy Markdown
Member

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

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/except guard around a bad birth_year config 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 bad birth_year not 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-aiml repo, which already runs both against the same shared reusable workflows) - left untouched since they are not part of the identity-lineage change.

@coderabbitai

coderabbitai Bot commented Aug 14, 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 Plus

Run ID: e4122bc0-398b-4900-8731-f5f5fbb39fde

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

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

Pardon the interruption, but your automated checks are ready! 🛎️

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

🔍 Lint

I've got some results for you! 📝

ruff: issues found — see job log

🔨 Build Tests

Ensuring all components are in alignment. 📏

✅ All versions pass

Python Build Install Tests
3.10
3.11
3.12
3.13
3.14

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


Processing... Done! Have a productive day! ☕

@JarbasAl
JarbasAl force-pushed the ci-add-lint-license-gate-mx7 branch from a71b4d7 to 71db8cd Compare August 14, 2026 15:16
@JarbasAl JarbasAl changed the title ci: add lint and license-check workflows fix: bot identity defaults to OVOS, not Mycroft; add missing CI gates Aug 14, 2026
@github-actions github-actions Bot added the fix label Aug 14, 2026
@JarbasAl
JarbasAl force-pushed the ci-add-lint-license-gate-mx7 branch from 71db8cd to 877812b Compare August 14, 2026 15:59
@JarbasAl JarbasAl changed the title fix: bot identity defaults to OVOS, not Mycroft; add missing CI gates fix: bot identity defaults to OVOS, not Mycroft or the RiveScript demo Aug 14, 2026
@github-actions github-actions Bot added fix and removed fix labels Aug 14, 2026
@JarbasAl
JarbasAl force-pushed the ci-add-lint-license-gate-mx7 branch from 877812b to 507bb1e Compare August 14, 2026 19:21
@github-actions github-actions Bot added fix and removed fix labels Aug 14, 2026
… 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>
@JarbasAl
JarbasAl force-pushed the ci-add-lint-license-gate-mx7 branch from 507bb1e to 0d00130 Compare August 14, 2026 19:26
@github-actions github-actions Bot added fix and removed fix labels Aug 14, 2026
@JarbasAl JarbasAl changed the title fix: bot identity defaults to OVOS, not Mycroft or the RiveScript demo fix: bot identity reflects RiveScript's own origins, not Mycroft or the demo brain Aug 15, 2026
@JarbasAl
JarbasAl marked this pull request as ready for review August 15, 2026 13:04
@JarbasAl
JarbasAl merged commit 8e0f159 into dev Aug 15, 2026
11 checks passed
@JarbasAl
JarbasAl deleted the ci-add-lint-license-gate-mx7 branch August 15, 2026 13:04
@github-actions github-actions Bot added fix and removed fix labels Aug 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant