[Feature] ATS-optimized resume generation from job description #29
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/peregrine#29
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implemented 2026-03-30
Files added/modified
scripts/resume_optimizer.py—extract_jd_signals(),prioritize_gaps(),rewrite_for_ats(),hallucination_check(),render_resume_text()scripts/db.py—optimized_resume+ats_gap_reportcolumns,save_optimized_resume(),get_optimized_resume()scripts/task_runner.py—resume_optimizetask type wired inscripts/task_scheduler.py—resume_optimizeadded toLLM_TASK_TYPES(5.0 GB VRAM budget)dev_api.py(vue-spa worktree) — 3 endpoints:GET/POST /api/jobs/{id}/resume_optimizer,GET /api/jobs/{id}/resume_optimizer/taskweb/src/components/ResumeOptimizerPanel.vue— gap report (all tiers) + full rewrite + hallucination badge (paid tier)web/src/components/ApplyWorkspace.vue— panel wired intests/test_resume_optimizer.py— 17 tests, all passing (539 total)Tier behaviour
Known review flag
prioritize_gaps()section keyword lists are tech-centric — domain-specific roles (creative, healthcare, operations) may over-route gaps to experience. Flagged inline with# REVIEWcomment.