ATS resume rewriter: section-by-section rewrite to resume.yaml to template, with skill confirmation UX #72
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/peregrine#72
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
Backend
build_review_diff()inresume_optimizer.py— produces per-section diffs:skills_diff(per-chip),text_diff(summary),bullets_diff(experience per-entry)export_pdf()inresume_optimizer.py— ReportLab single-column PDF (Helvetica, ATS-safe)save_resume_draft(),get_resume_draft(),finalize_resume(),get_resume_archive()added todb.py003_resume_review.sqladdsresume_draft_jsonandresume_archive_jsoncolumnsawaiting_reviewafter hallucination check passes; writes structured diff toresume_draft_jsondb_migrate.pyhardened: PRAGMA-based pre-check prevents duplicate ADD COLUMN failures from recording as applied when columns are missingAPI (new endpoints)
GET /api/jobs/{id}/resume_optimizer/review— returns draft diffPOST /api/jobs/{id}/resume_optimizer/review— apply decisions, finalize, archiveGET /api/jobs/{id}/resume_optimizer/export-pdf— ReportLab PDF downloadGET /api/jobs/{id}/resume_optimizer/history— past versions newest-firstVue (
ResumeOptimizerPanel.vue)awaiting_review, writes final textDecisions locked:
resume.yaml scope: per-job. Each application gets its own tailored copy stored in the DB (new column on jobs or a dedicated resume_drafts table). A history/archive view lets users pull a previous tailored resume as a starting point for a new application.
Skill confirmation flow: async. Task runner saves suggested skills and sets status to awaiting_review. UI surfaces confirm/reject chips. Confirming resumes the rewrite pass. Task thread is not blocked.
Template: reportlab for v1 (already in env, no new deps). HTML + wkhtmltopdf is a premium follow-on for custom template designs.