| summary | get_study_record renders the Locations header and reason on a nearLocation match of zero; find_eligible carries each site's LocationStatus into content[]; get_field_definitions surfaces the pre-cap totalMatches in search mode |
|---|---|
| breaking | false |
| security | false |
clinicaltrials_find_eligiblelocations render each site'sLocationStatus— the tool already requests and returnsLocationStatusinstructuredContent;content[]now carries it too ([RECRUITING],[NOT_YET_RECRUITING], etc.), matching the bracket conventionclinicaltrials_get_study_recordalready uses. A site with no published status renders bare. Previously a non-recruiting site underrecruitingOnly=truewas indistinguishable from a recruiting one in text output. (#91)clinicaltrials_get_field_definitionsenrichmentgainstotalMatches— populated on every search-mode call with the pre-cap match count, so a capped result (shown/cap) can be compared against how many fields actually matched instead of guessing a follow-uplimit.drillandovervieware unaffected — they return complete sets and have no cap. (#95)
clinicaltrials_get_study_recordLocations section on a zero-matchnearLocation— previously gated on the filtered location list being non-empty, so anearLocationfilter matching nothing rendered no## Locationssection at all — indistinguishable from a study that publishes no sites. The header now renders through the existing header builder with the zero count, and the explanatory line distinguishes "all sites lack coordinates" from "no sites within the radius," each with its own recovery guidance. A study with no upstream sites still renders nothing, since the filter never runs. (#96)