LinkedIn's f_WT=2 filter is nearly ignored for guest scraping and guest
pages expose no structured workplace-type field, so text filtering is
the only option:
- Require positive remote evidence (title/location/description must say
remote) before keeping a job; silence now means drop, not keep.
Configurable via scraper.require_remote_evidence.
- Catch more hybrid/on-site phrasings: "Hybrid: <city>", "office-based",
"N days onsite/in office", "return to office", titles with
hybrid/onsite (without tripping on "hybrid cloud").
- Append "Remote" to search keywords when remote_only is on, since
keyword matching surfaces far more genuinely remote posts than the
broken filter.
Verified against live LinkedIn postings: three known hybrid/on-site
leaks dropped, known remote post kept.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
LinkedIn's f_WT=2 remote filter is leaky, so besides requesting only
remote work types, drop jobs whose card location says Hybrid/On-site
before detail fetches, and drop jobs whose description reveals hybrid
or in-office requirements after. Bare 'hybrid' is not matched in
descriptions since networking JDs legitimately say 'hybrid cloud'.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Replace remote_only flag with configurable work_types list (remote, hybrid, onsite)
- Switch database from job_matcher_db to job_scraper_db
- Add ALTER TABLE migration for existing jobs table with scoring columns
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add remote_only config option that appends LinkedIn's f_WT=2 filter
param to search URLs. Change location from Toronto to Canada for
broader remote job coverage.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>