Closed
Conversation
Adds speciesism language patterns covering two categories: 1. Violent animal idioms — phrases that normalize animal harm (e.g. "kill two birds with one stone", "skin a cat", "beat a dead horse") with clearer, equally expressive alternatives. 2. Technical metaphors with animal origins — terms where a precise technical alternative already exists and is widely understood (e.g. canary deployment → progressive rollout, monkey patch → runtime patch, duck typing → structural typing). These patterns mirror the rules merged into webpack's Vale config on Feb 25, 2026 (webpack/webpack.js.org#7880) and align with the speciesism.yml PR open on retextjs/retext-equality (#130), the upstream package that powers alex.
Author
|
Friendly ping @jdkato — this adds a Speciesism rule set to alex, following the same pattern as the existing Ableism, Racism, and Sexism rule sets. Would love your thoughts when you get a chance. |
Author
|
Closing this PR — on reflection, this change may not be the right fit for this project. Thanks for your time! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds a
Speciesism.ymlrule file covering language patterns that reference animal harm or frame animals as objects/tools, in cases where clearer, equally expressive alternatives exist.Two categories:
Violent animal idioms — phrases that normalize cruelty toward animals, with professional alternatives:
kill two birds with one stone→accomplish two things at oncebeat/flog a dead horse→belabor the pointskin a cat→many ways to approach thisbring home the bacon→earn a livingsacred cow→untouchable topicscapegoat/scapegoating→fall guy / wrongly blamingTechnical terms with animal origins — where a precise technical alternative is already standard:
canary deployment/release→progressive rollout/incremental deploymentmonkey patch/patching→runtime patch/dynamic patchduck typing→structural typing/implicit typingdogfooding→self-testing/using your own productcattle vs pets→ephemeral vs persistentstack canary/canary value→sentinel value/guard valuePrecedent
This is becoming an emerging standard in developer tooling. webpack merged equivalent rules to their Vale linting config on Feb 25, 2026: webpack/webpack.js.org#7880. The same patterns are being added upstream in retextjs/retext-equality (which powers the JavaScript
alexpackage): retextjs/retext-equality#130.The academic grounding is solid — Hagendorff et al. (2023) "Speciesist bias in AI" (doi:10.1007/s43681-023-00380-w) documents how normalized animal language in technical writing reinforces broader speciesist attitudes.
Notes
ignorecase: trueis set — handlesKill Two Birds.../Canary Deploymentetc.extends: substitutionpattern used byRace.ymland others