feat: granular skip statuses — recruiter_only, external_unsupported, easy_apply_unsupported

Queue preserves all jobs for future reprocessing as capabilities expand.
Applier summary breaks down skips by type.
This commit is contained in:
2026-03-05 23:44:19 +00:00
parent 11cb80c942
commit 675697b990
4 changed files with 36 additions and 9 deletions

View File

@@ -34,13 +34,16 @@ export function formatSearchSummary(added, skipped, platforms) {
}
export function formatApplySummary(results) {
const { submitted, skipped, failed, needs_answer, total } = results;
const { submitted, failed, needs_answer, total,
skipped_recruiter, skipped_external, skipped_no_easy_apply } = results;
const lines = [
`✅ *Apply Run Complete*`,
`Applied: ${submitted} | Skipped: ${skipped} | Failed: ${failed} | Needs answer: ${needs_answer}`,
`Applied: ${submitted} | Failed: ${failed} | Needs answer: ${needs_answer}`,
`Skipped: ${skipped_recruiter} recruiter-only | ${skipped_external} external ATS | ${skipped_no_easy_apply} no Easy Apply`,
`Total processed: ${total}`,
];
if (needs_answer > 0) lines.push(`\n💬 Check messages — I sent questions that need your answers`);
if (skipped_external > 0) lines.push(`\n🔜 ${skipped_external} external ATS jobs saved for when Greenhouse/Lever support lands`);
return lines.join('\n');
}