Location filter fixes:
- euraxess: loc_text defaulted to the searched location when the HTML
element was missing, causing all locationless jobs to pass country
filters; now defaults to "" so they are correctly excluded
- mlscientist: filter was skipped entirely for countries not in
_COUNTRY_SLUG (falsy country_slug short-circuited the condition);
added a second filter block for unmapped countries using card loc_text
- mlscientist: added ireland, austria, italy (confirmed on site);
removed canada (category does not exist on mlscientist.com)
New scrapers:
- scholarshipdb.net: worldwide aggregator with 28k+ positions; country
filtering via URL path (/scholarships-in-{Country}); Europe post-filter
via _EUROPEAN_COUNTRIES set; relative-date posted field supported
- nature.com/careers: multidisciplinary global board; keyword search via
URL; location filter client-side via ISO-3166 country codes in location
strings (e.g. "Berlin (DE)"); "New" badge mapped to posted="1 day a…
refactor: reorganize agent/ into functional subfolders + split prompts