Skip to content

feat: Added role fit scoringΒ #158

@PranuPranjal

Description

@PranuPranjal

✨ Add Optional Role Fit Scoring to Hiring Pipeline

πŸ“ Description

Enhance the hiring pipeline by introducing an optional Role Fit score that evaluates how closely a candidate matches a given role description. The score should provide transparent, evidence-backed insights to assist in candidate comparison.


🎯 Motivation

  • Generic resume scoring is not always sufficient for role-specific hiring decisions.
  • Role Fit scoring enables recruiters to compare candidates against a concrete job description, providing actionable insights.

πŸ”§ Proposed Changes

  • Add role_fit: CategoryScore to Scores in models.py.
  • Create a new template role_fit.jinja (0–20 rubric, JSON output).
  • Update template_manager.py to load the new template.
  • Update evaluator.py to accept role_description and attach Role Fit results to scores.
  • Extend score.py CLI to accept optional role file:
    python score.py <resume.pdf> <role.txt>
  • Update transform.py to export role_fit_score and role_fit_max to CSV.
  • Update README.md with usage instructions.

βœ… Acceptance Criteria

  • CLI computes Role Fit only if role file is provided.
  • Role Fit score and evidence appear in console output.
  • CSV exports two new columns: role_fit_score and role_fit_max.
  • No regressions in existing scoring categories.
  • Fully backward compatible when no role description is provided.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions