Skip to content

fix(parser): alternatives inside one species keep the species - #227

Merged
mdoering merged 1 commit into
mainfrom
fix/212-species-anchor
Nov 2, 2026
Merged

mdoering merged 1 commit into
mainfrom
fix/212-species-anchor

Conversation

@mdoering

@mdoering mdoering commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Alternatives that all lie in one species are now anchored on that species instead of the genus. #212 hoped for this for the intergrades.

Input Anchor Phrase
Bubo virginianus pallescens / Bubo virginianus pinorum intergrade Bubo virginianus pallescens / Bubo virginianus pinorum intergrade
Tachybaptus ruficollis tricolor/vulcanorum Tachybaptus ruficollis tricolor/vulcanorum
Memphis philumena aff. xenica/promenaea Memphis philumena aff. xenica/promenaea
Bubo virginianus pallescens / Bubo scandiacus Bubo (unchanged) virginianus pallescens / Bubo scandiacus
Agabus cf. lutosus griseus/griseipennis Agabus (unchanged) cf. lutosus griseus/griseipennis

The name stays INFORMAL, UNRANKED and partial, and its anchor has rank SPECIES. The species is set in specificEpithet, so genus + specificEpithet + phrase still gives the input back.

The rule is wider than the intergrades. A lone epithet after a trinomial counts too, so Tachybaptus ruficollis tricolor/vulcanorum changes from the expectation in #225. Otherwise Bubo virginianus pallescens/pinorum and its written-out form would get different anchors.

A separate authorship joins the phrase. It may belong to either alternative, so it does not go on the species: Bubo virginianus pallescens/pinorum + Stone, 1897 gives phrase pallescens/pinorum Stone, 1897. The phrase only accepted an authorship when there was no species epithet, which would have lost it, so phrase_takes_authorship now decides on its own.

Not changed: a binomial followed by its own infraspecific name (Rosa gallica|Rosa gallica var. officinalis, Ganoderma lucidum/Ganoderma lucidum fusant) stays on the genus. The phrase would have to start with the separator.

Impact

Compared with #226 on every name containing a slash, a pipe or or, the only names this rule can reach:

  • ChecklistBank test names: 680 distinct names change (700 rows of 357,013), nearly all bird subspecies alternatives. All of them were already informal and only gain the species.
  • COL XR 26.6: no change (59 candidate names). No name in either set has the written-out intergrade form.

"Bubo virginianus pallescens / Bubo virginianus pinorum intergrade" and
"Tachybaptus ruficollis tricolor/vulcanorum" were anchored on the genus, though
all their alternatives lie in one species. A name with a word below its species
is now anchored on that species, unless another alternative names a different
species or a qualifier in front of the species doubts it. The rest of the name is
the phrase, the rank stays UNRANKED and the state partial.

A separate authorship still joins the phrase, as it belongs to no one of the
alternatives for sure. It would have been lost: the phrase took an authorship only
without a species epithet, so the flag that asks for it now decides on its own.

Refs #212, #225
@mdoering
mdoering changed the base branch from fix/open-issues-209-225 to main November 1, 2026 23:57
@mdoering
mdoering merged commit 9258f3d into main Nov 2, 2026
11 checks passed
@mdoering
mdoering deleted the fix/212-species-anchor branch November 2, 2026 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant