You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature]: Profile wizard: parse work-experience blocks from resumes #8
The profile wizard at agent/profile_wizard.py already extracts name, email, phone, school, degree, and skills from a resume PDF. But the resulting data/master-resume.json ships with experience: [] — the user's actual work history isn't parsed.
This blocks resume tailoring (the loop's tailor.py re-ranks bullets per JD, but only if there are bullets to re-rank).
What to do
Open agent/resume_parser.py. The text extraction (extract_resume_text) already returns plain text from PDF/DOCX.
Add an _extract_experience() function that finds work-history blocks. Heuristics that work:
Lines matching ^(.+?)\s+(\d{4}.*?(present|\d{4})) are likely role/dates
Bullets starting with •, -, or * under a role are bullets for that role
Section headers like "EXPERIENCE", "WORK EXPERIENCE", "PROFESSIONAL EXPERIENCE" mark the boundary
Return a list of {"company": str, "title": str, "start": str, "end": str, "bullets": [str]} dicts.
Wire it into profile_wizard.py → to_master_resume_json() so experience gets populated.
Proposed solution
Acceptance
A real PDF resume produces a non-empty experience array
Bullets keep their order
agent/run.py boots clean and the tailor module sees the bullets
Notes
Don't try LLM-based parsing yet — keep it deterministic so it works without Ollama
Test against 3-5 different real resumes (different formats) before considering done
Activity