Repository navigation
Conversation
jt55401
left a comment
There was a problem hiding this comment.
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-198has onlyeat_nearest(invertebrate), after substitutingfood_tag. The record declares fruit 0.2 and seed 0.1, and exposesberry/seedresources 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; seedocs/data-quality.md:127.behavior.json:144-145requestsperch_nearestwith resource tagshelter, whilespecies.jsondeclaresshrub_thicketas its shelter tag and onlyshrub_thicket/perchshelter resources.schema/v0.1/behavior-program.schema.json:213defines 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.rangeexplicitly 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 fortraits.mass_kg,traits.diet, andhabitat.useas 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.
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.0is 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_yhere and is attributed inATTRIBUTION.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-v1reaches 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.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,perchedandrestat yaw 55°, pitch 18°, andidleandflyagain 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
Remaining work
Maintainer source and visual review, hosted CI, and merge. Publication and live-scene acceptance are separate maintainer stages.