Skip to content

species: Common nightingale (Luscinia megarhynchos) - #1315

Open
jt55401 wants to merge 2 commits into
mainfrom
wave-20261101d-624-luscinia-megarhynchos
Open

jt55401 wants to merge 2 commits into
mainfrom
wave-20261101d-624-luscinia-megarhynchos

Conversation

@jt55401

@jt55401 jt55401 commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

What this adds

Common nightingale (Luscinia megarhynchos): a species record, a France activity curve, attribution, and a species-local behaviour program. This replaces the unmerged draft #1248. Its adult apparent-survival conversion was removed.

Closes #624

Evidence and scope

GBIF usage key 7660710 resolves to an accepted species and iNaturalist 13079 to an active species, checked 2026-11-01. France is within the documented native breeding range. The Animal Diversity Web (ADW) Lifespan/Longevity section reports a typical wild range of 1–5 years and separately gives an oldest record of 8 years 4 months. lifespan_y: 3.0 is the arithmetic midpoint of the typical range, marked derived and Low confidence. It is neither a maximum nor an adult-survival estimate. Other trait, range and seasonal locators and authored values are recorded in the narrow provenance entries.

ADW text is CC BY-NC-SA 3.0. It supports only traits.lifespan_y here and is attributed in ATTRIBUTION.md. BTO BirdFacts gives a UK expectancy from breeding age but has no verified allow-listed reuse licence; the checked CC BY-SA Wikipedia material does not state this typical wild value. The NC source is used as a documented last resort.

Activity and behaviour

The requested region is FR. The stored curve uses GBIF tier A only: 408,817 present records under CC0/CC BY filters, usable; monthly counts Jan–Dec are 172, 39, 509, 109719, 151315, 68693, 10403, 10780, 2656, 116, 31, 170. iNaturalist FR was usable only at tier C with NC licences, so it was excluded from the curve. The monthly values and query URLs remain in the record. Observation frequency is an activity proxy.

bt-nightingale-v1 reaches threat flight, refuge, nesting, song and invertebrate feeding. The actual song and nest month set is April–July. The night rest branch precedes ground feeding; song is reachable at night in those months. The program does not distinguish paired birds from unpaired singing males, so nocturnal song can be overrepresented.

Validate report

Tested pushed commit: 54ffc23f4f8ea365fe349e6d5ab3efa6041ef80a.

# speeeecies validation report

| species | status | errors | warnings | cleanliness | provenance |
|---|---|---|---|---|---|
| luscinia-megarhynchos | ⚠️ | 0 | 1 | 69 | 35/35 |

## luscinia-megarhynchos
### Warnings
- `NonCommercialLicense` sources.animal-diversity-web: license 'CC-BY-NC-SA-3.0' is tier 4 (non-commercial); backs: traits.lifespan_y
### Licence mix
| tier | datums |
|---|---|
| tier1 | 4 |
| tier2 | 3 |
| tier3 | 27 |
| tier4 | 1 |
### Behaviour
| program | kind | states/nodes |
|---|---|---|
| bt-nightingale-v1 | bt | 44 |

Self-check: 629 files, 0 findings. All-species and all-locale validation exited 0. Pytest: 347 passed, 8 skipped. Attribution regeneration left the species diff empty.

Preview evidence

Inspected idle, hop, fly, perched and rest at yaw 55°, pitch 18°, and idle and fly again from the rear. No clipping or misassigned colours were visible. The tail markings were corrected in the final commit. The stylised hop, perched and rest poses look similar; preview inspection does not establish live-scene acceptance.

Checklist

Species

  • Closes the linked species-request issue
  • Checked main and open PRs, and claimed the issue
  • Taxon identifiers and source claims checked
  • Evidence locators, units and derived values documented
  • Validate report pasted above with no errors
  • Attribution regenerated and committed
  • FR activity fetched, queries, licence filters, counts and usability inspected
  • Executed behaviour and regional months checked
  • Unrelated shared records untouched
  • Self-check, repository validation, locale validation and tests pass
  • Every declared pose inspected
  • NC source isolated and justified
  • No private data in the diff; one species per PR

Remaining work

Maintainer source and visual review, hosted CI, and merge. Publication and live-scene acceptance are separate maintainer stages.

@jt55401 jt55401 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hourly maintainer review: 54ffc23

Disposition: changes requested. Current-head hosted validate is green, but the executable feeding and refuge contract need correction before merge.

  • species/luscinia-megarhynchos/behavior.json:180-198 has only eat_nearest(invertebrate), after substituting food_tag. The record declares fruit 0.2 and seed 0.1, and exposes berry/seed resources in August–November. Neither food is reachable. I independently checked CC0 EltonTraits v1, BirdFuncDat.txt, SpecID 9213: Diet-Inv 70, Diet-Fruit 20, Diet-Seed 10. The French article, Alimentation also explicitly supports late-summer/autumn fruit and seeds. Add reachable seasonal feeding branches with appropriate resource tags and outcome tests, including August fruit/seed availability. The new local program currently adds no focused regression tests; see docs/data-quality.md:127.
  • behavior.json:144-145 requests perch_nearest with resource tag shelter, while species.json declares shrub_thicket as its shelter tag and only shrub_thicket/perch shelter resources. schema/v0.1/behavior-program.schema.json:213 defines this argument as a resource tag. Use a declared suitable resource or supply public evidence/tests that bind this generic tag to the intended shrub refuge. Static validation does not demonstrate this binding. Test nighttime rest outside song months and threat-to-refuge behavior.
  • Finish the independently checked native-country scope: provenance.range explicitly says the country list was not checked country by country. France and the northern/North African limits are supported by the cited French Répartition text; the remaining interpolated country codes need locators or a narrower supported list. Mark unit/fraction transformations for traits.mass_kg, traits.diet, and habitat.use as derived, retaining the already useful exact row notes.

Evidence checked: GBIF 7660710 accepted species; iNaturalist 13079 active species; ITIS 560897 valid taxon; NCBI 383689 active species; Wikidata identity checked. eBird returned a bot challenge, so that optional identifier was not independently resolved. The EltonTraits v1 API explicitly licenses the dataset CC0; its row confirms 19.6 g and 70/30 ground/understory. English Wikipedia Description supports 15–16.5 cm and the derived 0.1575 m. ADW Lifespan/Longevity explicitly distinguishes typical wild 1–5 years from maximum 8 years 4 months; the disclosed Low-confidence midpoint 3 is faithful to that statistic. Its additional inconsistent average summaries should remain a source limitation. The NC dependency is narrowly attributed to lifespan and justified. French Migration/Reproduction support the regional calendar approximations; actual song/nest months are exactly {4,5,6,7}, with night song before night rest. Pair-status overrepresentation is disclosed.

Activity: reran the stored permissive FR GBIF species and Aves-baseline URLs; 408,817 records, 354,603 with month facets. Independently recomputed gbif_share matches all twelve stored values exactly. No low-count fallback or NC input is used. The claimed excluded iNaturalist tier-C search has no retained query/count receipt, so that historical search was not independently reproduced.

Public verification at this SHA: focused validation 0 errors, 1 NC warning, 35/35 provenance; self-check, all-species validation, all-locale validation and attribution regeneration passed with no species diff; pytest 347 passed, 8 skipped. Hosted CI is green. Viewed every declared pose (idle, hop, fly, perched, rest) in the browser fallback: attached parts, plain brown/buff body and reddish tail visible in flight; hop/perched/rest remain visually similar. Only three new species files change against main; no existing regional record is replaced. No BioCLIP, GPU/model check, private import or live-scene acceptance was run.

This branch has not been deployed

No deployments
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.

species: Common Nightingale (Luscinia megarhynchos)

1 participant