Description
In transform_basics() (transform.py), a profile's username is only extracted from the URL when network is None. When extraction already provides a network (e.g. network: "LinkedIn"), the username extraction block is skipped entirely, so username stays null even though it's present in the URL.
Steps to reproduce
- Use a resume with a LinkedIn URL, e.g.
linkedin.com/in/damien-d-johnson.
- Run the pipeline so the profile is parsed.
- Inspect the resulting basics/profiles.
Actual
{ "network": "LinkedIn", "username": null, "url": "http://www.linkedin.com/in/damien-d-johnson" }
Expected
{ "network": "LinkedIn", "username": "damien-d-johnson", "url": "https://www.linkedin.com/in/damien-d-johnson" }
Impact
The empty username field is passed to the evaluator, where the LLM interprets the null as a problem and reports it under "areas for improvement" (e.g. "LinkedIn profile was marked 'None'"), even though the URL was found correctly.
Environment
- OS: macOS
- Python: 3.x
- Provider/model: Gemini (gemini-2.5-flash)
Description
In
transform_basics()(transform.py), a profile'susernameis only extracted from the URL whennetworkisNone. When extraction already provides a network (e.g.network: "LinkedIn"), the username extraction block is skipped entirely, sousernamestaysnulleven though it's present in the URL.Steps to reproduce
linkedin.com/in/damien-d-johnson.Actual
{ "network": "LinkedIn", "username": null, "url": "http://www.linkedin.com/in/damien-d-johnson" }Expected
{ "network": "LinkedIn", "username": "damien-d-johnson", "url": "https://www.linkedin.com/in/damien-d-johnson" }Impact
The empty
usernamefield is passed to the evaluator, where the LLM interprets the null as a problem and reports it under "areas for improvement" (e.g. "LinkedIn profile was marked 'None'"), even though the URL was found correctly.Environment