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:
@@ -111,6 +111,7 @@ function buildStatus() {
|
||||
queue: {
|
||||
total: queue.length,
|
||||
new: byStatus['new'] || 0,
|
||||
filtered: byStatus['filtered'] || 0,
|
||||
applied: byStatus['applied'] || 0,
|
||||
failed: byStatus['failed'] || 0,
|
||||
needs_answer: byStatus['needs_answer'] || 0,
|
||||
@@ -209,6 +210,7 @@ function formatReport(s) {
|
||||
}
|
||||
|
||||
lines.push(
|
||||
` 🚫 AI filtered: ${q.filtered || 0}`,
|
||||
` ✅ Applied: ${q.applied}`,
|
||||
` 🔁 Already applied: ${q.already_applied || 0}`,
|
||||
` 💬 Needs your answer: ${q.needs_answer}`,
|
||||
|
||||
Reference in New Issue
Block a user