feat: AI job filter — score jobs 0-10 with Claude Haiku before applying

- lib/filter.mjs: batch scoring engine (10 jobs/call, Claude Haiku)
- job_filter.mjs: standalone CLI with --dry-run and --stats flags
- Threshold configurable globally + per-search in search_config.json (filter_min_score, default 5)
- Job profiles (gtm/ae) passed as context via settings.filter.job_profiles
- Filtered jobs get status='filtered' with filter_score + filter_reason
- Filter errors pass jobs through (never block applications)
- status.mjs: added 'AI filtered' line to report
This commit is contained in:
2026-03-06 10:01:15 +00:00
parent ff59316abc
commit 9bf904dada
4 changed files with 303 additions and 0 deletions

View File

@@ -1,10 +1,12 @@
{
"_note": "Configure your job searches here. Each search runs on both listed platforms.",
"first_run_days": 90,
"filter_min_score": 5,
"searches": [
{
"name": "Founding GTM",
"track": "gtm",
"filter_min_score": 5,
"keywords": [
"founding account executive",
"first sales hire",
@@ -23,6 +25,7 @@
{
"name": "Enterprise AE",
"track": "ae",
"filter_min_score": 5,
"keywords": [
"enterprise account executive SaaS remote",
"senior account executive technical SaaS remote",