Issue #271: Backend projects are penalized for missing live demos
No open PR fixes this and merges clean
How it breaks
The path is the model's reasoning. Each box is a citation checked against the code.
What's wrong
The scoring rubric in the software_engineering_intern role templates penalizes every project that has no live demo, whatever its type. It has no exception for backend, infrastructure, CLI or library projects, whose code is the deliverable. A GitHub-only project loses 2-3 points in the deduction list.Show full explanation
The link rules also cut the score of projects with no links and add a bonus for projects with a live demo. I found no code that checks project type before these rules apply. They are plain prompt text that the LLM follows literally. Line 26 of system_message.jinja also mentions live demos, but I could not quote it because the line is too long.How to reproduce
- Prepare a resume whose projects are backend-only, such as a REST API, Kafka pipeline or CLI tool. Give each a GitHub link and no hosted demo.
- Run the evaluation pipeline with the software_engineering_intern role, which renders roles/software_engineering_intern/criteria.jinja and system_message.jinja into the prompt.
- Check the project score and the deductions in the output. Each GitHub-only project loses about 2-3 points for having no live demo.
- Add a hosted demo URL to the same resume and rerun. The score goes up, and the 10-20% live demo bonus applies.
Evidence
Each citation was checked against the code at e0ece80.
A numeric deduction for having no live demo, applied to every project with no check on project type.
The link deductions treat a live demo as an expected deliverable for all projects, not just UI ones.
A bonus for live demos that backend projects cannot realistically earn, so they score lower relative to UI projects.
Lists live demos as one of the links a project needs, with no carve-out for backend or infrastructure work.
Pull requests
Verdicts are judged from the diff, not run. Merge status is a real git check against e0ece80.
2 PRs that don't fix itShow
It edits prompts/templates/resume_evaluation_criteria.jinja (plus .gitignore) and never touches roles/software_engineering_intern/criteria.jinja, where the live-demo deductions and bonus at lines 82-84 and 171-172 live, so that rubric is unchanged.
It only edits prompts/templates/resume_evaluation_criteria.jinja, a different file from the cited roles/software_engineering_intern/criteria.jinja, so the intern role's demo deduction and link rules remain.
What this packet does not prove
- Citations are checked against the code. The explanation that links them, the order of the chain, and any claim about outside systems (APIs, libraries) are the model's reasoning and are not checked.
- PR verdicts are judged from the diff, not run. No PR was applied or tested.
- PRs were shortlisted because they change a cited line or mention the issue. A fix in another file, or a PR whose line numbers have drifted, is missed, so this is not proof that no other PR fixes it.